T
©if.
J L
©dk
Avron
oarr^
rEdwa.rcl A.
reigenbaurn
^H
VOLUME
Avron
5arr&
Fdwqrd A
reigenboum
This three-volume work contains some 200
articles on AI research — the design of com-
puter programs that exhibit near-human levels
of intelligence. Each article describes a key
concept, an important programming techni-
que, or one of the outstanding examples of AI
programs. In addition, there are overview ar-
ticles about approaches within a subfield, the
issues, and the problems.
Volume I contains five chapters, as well as
an index and bibliography. The first chapter
discusses the goals of AI research, the history
of the field, and the current active areas of
research. It includes an article on The Hand-
book itself that describes how the book is
organized. Finally, there is an article on the
literature of the field, explaining how to access
journal articles and technical reports for fur-
ther reading.
Chapters two and three cover the key con-
cept of "search," computer problem-solving
techniques, search-space and problem-
reduction algorithms, heuristic search and
minimax methods, computer implementations
of search techniques, techniques for represent-
ing knowledge in computer programs, basic
representation paradigms in AI, mathematical
knowledge, semantic networks, production
systems, frames, etc.
Chapter four describes AI research on
"natural languages": grammars and parsing
techniques that have been employed in AI pro-
grams, programs that translate from one
language to another, methods for
"generating" text to express what the com-
puter wants to say, including the ten most im-
portant programs in this area.
Finally, Chapter five discusses the design of
programs that understand spoken language.
Major projects are all described in some detail,
and the chapter's overview article discusses
current status, problems, and directions of
research.
Systemic grammar
I. Case grammars
Parsing
Overview of parsing techniques
}. Augmented transition networks
The General Syntactic Processor
Text generation
Natural language processing systems
Early natural language systems
I. Wilks's machine translation system
LUNAR
SHRDLU
;. MARGIE
!. SAM and PAM
LIFER
iderstanding Spoken Language
)verview
peech systems architecture
^he ARPA SUR projects
HEARSAY
HARPY
HWIM
The SRI/SDC speech systems
ial Intelligence
volume n
rogramming Languages for AI Research
Historical overview
features of AI programming languages
. Overview and comparison
. Data structures
. Control structures
. Pattern matching
. Programming environment
. Truth maintenance
Vlajor AI programming languages
LISP
PLANNER and CONNIVER
QLISP
SAIL
POP-2
FUZZY
ipplications-oriented AI Research: Science and Mathematit
Overview of applications-oriented AI research
TEIRESIAS-Issues in designing expert systems
Research on applications in chemistry
Applications in chemical analysis
The DENDRAL programs
a. DENDRAL
b. CONGEN and its extensions
c. Meta-DENDRAL
Digitized by the Internet Archive
in 2012
http://archive.org/details/handbookofartific01barr
The Handbook of Artificial Intelligence
The Handbook of Artificial Intelligence
Volume I
Edited by
Avron Barr and Edward A. Feigenbaum
Department of Computer Science
Stanford University
HeurisTech Press William Kaufmann, Inc.
Stanford, California Los Altos, California
Library of Congress Cataloging in Publication Data:
The handbook of artificial intelligence.
Bibliography: p. 363
Includes index.
1. Artificial intelligence. I. Barr, Avron, 1949-
n. Feigenbaum, Edward A.
Q335.H36 001.53'5 80-28621
ISBN 0-86576-004-7 (set)
ISBN 0-86576-005-5 (Vol. I)
Copyright © 1981 by William Kaufmann, Inc.
All rights reserved. No part of this publication may be
reproduced, stored in a retrieval system, or transmitted,
in any form or by any means, electronic, mechanical,
photocopying, recording, or otherwise, without the prior
written permission of the publisher. For further infor-
mation, write to: Permissions, William Kaufmann, Inc.,
One First Street, Los Altos, California 94022.
10 987654321
Printed in the United States of America
To the graduate students
CONTENTS OF VOLUME I
List of Contributors / ix
Preface / xi
I. Introduction / 1
A. Artificial Intelligence / 3
B. The AI Handbook / 12
C. The AI literature / 14
E. Search / 19
A. Overview / 21
B. Problem representation / 32
1. State-space representation / 32
2. Problem- reduction representation / 36
3. Game trees / 43
C. Search methods / 46
1. Blind state-space search / 46
2. Blind AND/OR Graph search / 54
3. Heuristic state- space search / 58
a. Basic concepts in heuristic search / 58
b. A* — Optimal search for an optimal solution / 64
c. Relaxing the optimality requirement / 67
d. Bidirectional search / 72
4. Heuristic search of an AND/OR graph / 74
5. Game tree search / 84
a. Minimax procedure / 84
b. Alpha-beta pruning / 88
c. Heuristics in game tree search / 94
D. Sample search programs / 109
1. Logic Theorist / 109
2. General Problem Solver / 113
3. Gelernter's geometry theorem-proving machine / 119
4. Symbolic integration programs / 123
5. STRIPS / 128
6. ABSTRIPS / 135
viii Contents
m. Knowledge Representation / 141
A. Overview / 143
B. Survey of representation techniques / 153
C. Representation schemes / 160
1. Logic / 160
2. Procedural representations / 172
3. Semantic networks / 180
4. Production systems / 190
5. Direct (analogical) representations / 200
6. Semantic primitives / 207
7. Frames and scripts / 216
IV. Understanding Natural Language / 223
A. Overview / 225
B. Machine translation / 233
C. Grammars / 239
1. Formal grammars / 239
2. Transformational grammars / 245
3. Systemic grammar / 249
4. Case grammars / 252
D. Parsing / 256
1. Overview of parsing techniques / 256
2. Augmented transition networks / 263
3. The General Syntactic Processor / 268
E. Text generation / 273
F. Natural language processing systems / 281
1. Early natural language systems / 281
2. Wilks's machine translation system / 288
3. LUNAR / 292
4. SHRDLU / 295
5. MARGIE / 300
6. SAM and PAM / 306
7. LIFER / 316
V. Understanding Spoken Language / 323
A. Overview / 325
B. Systems architecture / 332
C. The ARPA SUR projects / 343
1. HEARSAY / 343
2. HARPY / 349
3. HWIM / 353
4. The SRI/SDC speech systems / 358
Bibliography for Volume I / 363
Name Index for Volume 1/391
Subject Index for Volume I / 397
LIST OF CONTRIBUTORS
The following people have made the Handbook a reality. Together, over
the last five years, they have combed the entire literature of AI and
have attempted to make a coherent presentation of this very diverse
field. These researchers and students, from Stanford and other AI
centers, have contributed to Volumes I and n or are now engaged in
preparing Volume HI (being edited by Paul R. Cohen).
Chapter Editors
Janice Aikins
James S. Bennett
Victor Ciesielski (Rutgers U)
William J. Clancey
Paul R. Cohen
James E. Davidson
Thomas Dietterich
Robert Elschlager
Lawrence Fagan
Anne v.d.L. Gardner
Takeo Kanade (CMU)
Jorge Phillips
Steve Tappel
Stephen Westfold
Contributors
Robert Anderson (Rand)
Douglas Appelt
David Arnold
Michael Ballantyne (u Texas)
David Barstow (Schlumberger)
Peter Biesel (Rutgers U)
Lee Blaine (IMSSS)
W. W. Bledsoe (U Texas)
Rodney Brooks
Bruce Buchanan
Richard Chestek
Kenneth Clarkson
Randall Davis (MIT)
Gerard Dechen
Johan de Kleer (Xerox)
Jon Doyle
R. Geoff Dromey (u Wollongong)
Richard Duda (Fairchild)
Robert Engelmore
Ramez El-Masri (Honeywell)
Susan Epstein (Rutgers U)
Robert Filman (Indiana U)
Fritz Fisher
Christian Freksa (UC Berkeley)
Peter Friedland
Richard Gabriel
Michael Genesereth
Neil Goldman (ISI)
Ira Goldstein (Xerox)
George Heidorn (IBM)
List of Contributors
Douglas Hofstadter (Indiana U)
Elaine Kant (CMU)
William Laaser (Xerox)
Douglas Lenat
William Long (MIT)
Robert London
Pamela McCorduck
Robert Moore (SRI)
Richard Pattis
Neil C. Rowe
Gregory Ruth (MIT)
Daniel Sagalowicz (SRI)
Behrokh Samadi
William Scherlis (CMU)
Andrew Silverman
Donald Smith (Rutgers U)
Phillip Smith (U Waterloo)
Reid G. Smith (Canadian DREA)
William Swartout (MIT)
William van Melle
Richard Waldinger (SRI)
Richard Waters (MIT)
Sholom Weiss (Rutgers U)
David Wilkins (SRI)
Terry Winograd
Reviewers
Harold Abelson (MIT)
Saul Amarel (Rutgers U)
Robert Balzer (ISI)
Harry Barrow (Fairchild)
Thomas Binford
Daniel Bobrow (Xerox)
John Seely Brown (Xerox)
Richard Burton (Xerox)
Lewis Creary
Andrea diSessa (MIT)
Daniel Dolata (UC Santa Cruz)
Lee Erman (ISI)
Adele Goldberg (Xerox)
Cordell Green (SCI)
Norman Haas (SRI)
Kenneth Kahn (MIT)
Jonathan King
Casimir Kulikowski (Rutgers U)
Brian P. McCune (Al&DS)
Donald Michie (U Edinburgh)
Nils Nilsson (SRI)
Glen Ouchi (UC Santa Cruz)
Ira Pohl (UC Santa Cruz)
Herbert Simon (CMU)
David E. Smith
Dennis Smith
Mark Stefik (Xerox)
Albert Stevens (BBN)
Allan Terry
Perry Thorndyke (Rand)
Donald Walker (SRI)
Keith Wescourt (Rand)
Production
Lester Ernest
Marion Hazen
David Fuchs
Dianne Kanerva
Roy Nordblom
Thomas Rindfleisch
Ellen Smith
Helen Tognetti
PREFACE
Artificial Intelligence is of growing interdisciplinary interest and
practical importance. People with widely varying backgrounds and pro-
fessions are discovering new ideas and new tools in this young science.
Theory-minded psychologists have developed new models of the mind
based on the fundamental concepts of AI — symbol systems and infor-
mation processing. Linguists are also interested in these basic notions,
as well as in AI work in computational linguistics, aimed at producing
programs that actually understand language. And philosophers, in
considering the progress, problems, and potential of this work toward
nonhuman intelligence, have sometimes found new perspectives on the
age-old problems of the nature of mind and knowledge.
In other spheres of activity, people often first come across AI in the
form of some "expert" system that is being applied experimentally in
their own area — chemical data interpretation, symbolic integration,
infectious disease diagnosis, DNA sequencing, computer systems debug-
ging, structural engineering, computer-chip design, and so on. As the
cost of computation continues to fall, many new computer applications
become viable. Since, for many of these, there are no mathematical
"cores" to structure the calculational use of the computer, such areas
will inevitably be served by symbolic models and symbolic inference
techniques. Yet those who understand symbolic computation have been
speaking largely to themselves for the first 25 years of AI's history. We
feel that it is urgent for AI to "go public" in the manner intended by
this three-volume Handbook of Artificial Intelligence.
xii Preface
Since the Handbook project began in 1975, dozens of researchers
have labored to produce short, jargon- free explanations of AI pro-
gramming techniques and concepts. With these volumes, we have tried
to build bridges to be crossed by engineers, by professionals and
scientists in other fields, and by our own colleagues in computer science.
We have tried to cover the breadth and depth of AI, presenting general
overviews of the scientific issues, as well as detailed discussions of
particular techniques and exemplary computer systems. And, most
important, we have presented the key concepts — search, divide-and-
conquer, semantic nets, means-ends analysis, hierarchical planning, ATNs,
procedural knowledge, blackboard architecture, scripts and frames, goal-
directed and data-driven processing, learning, and many more — in the
context of their actual application in AI. If they were presented more
abstractly, the unique perspective afforded by AI research on these
universal ideas would be lost. Throughout, we have tried to keep in
mind the reader who is not a specialist in AI.
In short, we have tried to present a survey of AI research that is
motivated historically and scientifically, without attempting to present a
new synthesis of this young, multifaceted, rapidly changing field. One
can view these Handbook volumes as an encyclopedia of AI programming
techniques, their successful applications, some of their limitations, and
the computational concepts that have been used to describe them.
Readers from different fields will interpret these data in different
ways — we hope that many of you will find useful new ideas and new
perspectives.
The Handbook contains several different kinds of articles. Key AI
concepts and techniques are described in core articles (e.g., heuristic
search, semantic nets). Important individual AI programs (e.g., SHRDLU,
MACSYMA, PROSPECTOR) are presented in separate articles that indi-
cate, among other things, the designer's goals, the techniques employed,
and the reasons why the program is important. The problems and
approaches in each major area are discussed in overview articles, which
should be particularly useful to those who seek a summary of the
underlying issues that motivate AI research.
We intend that the Handbook of Artificial Intelligence be a living
and changing reference work. In particular, we hope that our colleagues
will take time to alert us to errors we have made, of omission or
commission, and that we have an opportunity to correct these in future
editions.
Preface xiii
Acknowledgments
Many people have contributed to the Handbook project. On pages
ix-x is an alphabetical list of those who have been involved so far,
including article contributors, reviewers, and the chapter editors who
have spent months working the individual chapters into coherent pre-
sentations of a particular AI subarea. The following is as accurate a
reconstruction as possible of the contributions to this first volume over
the last five years.
The "Search" chapter was written by Anne Gardner, starting from
some articles prepared for a problem seminar in the spring of 1975.
Background material was made available by Nils Nilsson, who also read
earlier drafts, as did Bruce Buchanan, Lewis Creary, James Davidson,
Ira Pohl, Reid Smith, Mark Stefik, and David Wilkins.
"Representation of Knowledge" was edited by Avron Barr and James
Davidson. The article on logic was written by Robert Filman, semantic
nets by Douglas Appelt, semantic primitives by Anne Gardner, and
frames by James Bennett. Mark Stefik carefully reviewed an early draft
of this chapter.
Anne Gardner, James Davidson, and Avron Barr edited "Under-
standing Natural Language." Articles were worked on by Janice Aikins,
Rodney Brooks, William Clancey, Paul Cohen, Gerard Dechen, Richard
Gabriel, Norman Haas, Douglas Hofstadter, Andrew Silverman, Phillip
Smith, Reid Smith, William van Melle, and David Wilkins. Neil Gold-
man reviewed an early draft of the chapter. Terry Winograd made
background material available and also reviewed an early draft.
"Understanding Spoken Language" was prepared by Lawrence Fagan,
Paul Cohen, and Avron Barr, with helpful comments from James Ben-
nett, Lee Erman, and Donald Walker.
The professional editor responsible for the form of the final copy,
including electronic typesetting and page design, was Dianne Kanerva.
Earlier in the project's history, professional editing on several chapters
was done by Helen Tognetti. Ellen Smith also assisted in this impor-
tant work.
The book was set in Computer Modern fonts (Knuth, 1979) and was
produced directly on a computer-driven phototypesetting device. Pub-
lisher William Kaufmann and his staff have been patient and helpful
throughout this process.
xiv Preface
The Advanced Research Projects Agency of the Department of De-
fense and the Biotechnology Resources Program of the National Insti-
tutes of Health supported the Handbook project as part of their long-
standing and continuing efforts to develop and disseminate the science
and technology of AI. Earlier versions of Handbook material were
distributed as technical reports of the Stanford Computer Science
Department. The electronic text-preparation facilities available to Stan-
ford computer scientists on the SAIL, SCORE, and SUMEX computers
were used.
We wish specially to acknowledge Anne Gardner, whose scholarship
during the early years of the Handbook project was invaluable, and
inspirational.
Finally, let us not forget that many of the programs described
herein as landmark events in the history of AI were labored over single-
handedly by graduate students trying to implement their thesis ideas.
These AI systems have consistently been among the most complex and
innovative computer programs of their day. They stand as a tribute to
the caliber and creativity of those who have been drawn to AI research.
Chapter I
Introduction
CHAPTER I: INTRODUCTION
A. Artificial Intelligence / 8
B. The AI Handbook / 12
C. The AI Literature / 14
A. ARTIFICIAL INTELLIGENCE
Artificial Intelligence (AI) is the part of computer science con-
cerned with designing intelligent computer systems, that is, systems that
exhibit the characteristics we associate with intelligence in human
behavior — understanding language, learning, reasoning, solving problems,
and so on. Many believe that insights into the nature of the mind can
be gained by studying the operation of such programs. Since the field
first evolved in the mid-1950s, AI researchers have invented dozens of
programming techniques that support some sort of intelligent behavior.
The Handbook of Artificial Intelligence is an encyclopedia of the major
developments of the field's first 25 years — programs, programming tech-
niques, and the computational concepts used to describe them.
Whether or not they lead to a better understanding of the mind,
there is every evidence that these developments will lead to a new,
intelligent technology that may have dramatic effects on our society.
Experimental AI systems have already generated interest and enthusiasm
in industry and are being developed commercially. These experimental
systems include programs that
1. solve some hard problems in chemistry, biology, geology, engi-
neering, and medicine at human-expert levels of performance,
2. manipulate robotic devices to perform some useful, repetitive,
sensory-motor tasks, and
3. answer questions posed in simple dialects of English (or French,
Japanese, or any other natural language, as they are called).
There is every indication that useful AI programs will play an important
part in the evolving role of computers in our lives — a role that has
changed, in our lifetimes, from remote to commonplace and that, if
current expectations about computing cost and power are correct, is
likely to evolve further from useful to essential.
The Handbook is composed of short articles about AI concepts,
techniques, and systems, grouped into chapters that correspond to the
major subdivisions of the field. This first article of the Handbook
discusses what we mean by "artificial intelligence," both in terms of the
interests and methods of the people doing AI research and in terms of
the kinds of intelligent programs they have studied. We hope that this
brief introduction will elucidate not only the potentially dramatic impact
of intelligent technology on society, but also the possibilities that AI
4 Introduction I
research affords for new insights into the puzzle that human intelligence
is. The other two articles in this introductory chapter are meant as
study guides: One describes the Handbook itself — its organization, what
is in it and what is not — while the second offers guides for finding rel-
evant material in the literature.
The Origins of Artificial Intelligence
Scientific fields emerge as the concerns of scientists congeal around
various phenomena. Sciences are not defined, they are recognized.
(Newell, 1973a, p. 1)
The intellectual currents of the times help direct scientists to the study
of certain phenomena. For the evolution of AI, the two most important
forces in the intellectual environment of the 1930s and 1940s were
mathematical logic, which had been under rapid development since the
end of the 19th century, and new ideas about computation. The logical
systems of Frege, Whitehead and Russell, Tarski, and others showed
that some aspects of reasoning could be formalized in a relatively simple
framework. Mathematical logic has continued to be an active area of
investigation in AI, in part because logico- deductive systems have been
successfully implemented on computers. But even before there were
computers, the mathematical formalization of logical reasoning shaped
people's conception of the relation between computation and intelligence.
Ideas about the nature of computation, due to Church, Turing, and
others, provided the link between the notion of formalization of
reasoning and the computing machines about to be invented. What was
essential in this work was the abstract conception of computation as
symbol processing. The first computers were numerical calculators that
appeared to embody little, if any, real intelligence. But before these
machines were even designed, Church and Turing had seen that num-
bers were an inessential aspect of computation — they were just one way
of interpreting the internal states of the machine. Turing, who has
been called the Father of AI, not only invented a simple, universal, and
nonnumerical model of computation, but also argued directly for the
possibility that computational mechanisms could behave in a way that
would be perceived as intelligent. Douglas Hofstadter's book Godel,
Escher, Bach: an Eternal Golden Braid (1979) gives a thorough and
fascinating account of the development of these ideas about logic and
computation and of their relation to AI.
As Allen Newell and Herbert Simon point out in the "Historical
Addendum" to their classic work Human Problem Solving (1972), there
were other strong intellectual currents from several directions that
A Artificial Intelligence 5
converged in the middle of this century in the people who founded the
science of Artificial Intelligence. The concepts of cybernetics and self-
organizing systems of Wiener, McCulloch, and others focused on the
macroscopic behavior of "locally simple" systems. The cyberneticists
influenced many fields because their thinking spanned many fields,
linking ideas about the workings of the nervous system with information
theory and control theory, as well as with logic and computation. The
ideas of the cyberneticists were part of the Zeitgeist, and in many cases
they influenced the early workers in AI directly as their teachers.
What eventually connected these diverse ideas was, of course, the
development of the computing machines themselves, guided by Babbage,
Turing, von Neumann, and others. It was not long after the machines
became available that people began to try to write programs to solve
puzzles, play chess, and translate texts from one language to another —
the first AI programs. What was it about computers that triggered
the development of AI? Many ideas about computing relevant to AI
emerged in the early designs — ideas about memories and processors,
about systems and control, and about levels of languages and programs.
But the single attribute of the new machines that brought about the
emergence of a new science was their very complexity, encouraging the
development of new and more direct ways of describing complex
processes — in terms of complicated data structures and procedures with
hundreds of different steps.
Computers, Complexity, and Intelligence
As Pamela McCorduck notes in her entertaining historical study of
AI, Machines Who Think (1979), there has been a long-standing con-
nection between the idea of complex mechanical devices and intel-
ligence. Starting with the fabulously intricate clocks and mechanical
automata of past centuries, people have made an intuitive link between
the complexity of a machine's operation and some aspects of their own
mental life. Over the last few centuries, new technologies have resulted
in a dramatic increase in the complexity we can achieve in the things
we build. Modern computers are orders of magnitude more complex
than anything man has built before.
The first work on computers in this century focused on the kinds of
numerical computations that had previously been performed collabo-
ratively by teams of hundreds of clerks, organized so that each did one
small subcalculation and passed his results on to the clerk at the next
desk. Not long after the dramatic success demonstrated by the first dig-
ital computers with these elaborate calculations, people began to explore
6 Introduction I
the possibility of more generally intelligent mechanical behavior — could
machines play chess, prove theorems, or translate languages?
They could, but not very well. The computer performs its calcu-
lations following the step-by-step instructions it is given — the method
must be specified in complete detail. Most computer scientists are con-
cerned with designing new algorithms, new languages, and new machines
for performing tasks like solving equations and alphabetizing lists —
tasks that people perform with methods they can explicate. However,
people cannot specify how they decide which move to make in a chess
game or how they determine that two sentences "mean the same thing."
The realization that the detailed steps of almost all intelligent
human activity were unknown marked the beginning of Artificial Intel-
ligence as a separate part of computer science. AI researchers inves-
tigate different kinds of computation and different ways of describing
computation in an effort not just to create intelligent artifacts, but also
to understand what intelligence is. Their basic tenet is that human
intellectual capacity will be best described in the terms that we invent
to describe AI programs. However, we are just beginning to learn
enough about those programs to know how to describe them. The
computational ideas discussed in this book have been used in programs
that perform many different tasks, sometimes at the level of human
performance, often much worse. Most of these methods are obviously
not the same ones that people use to perform the tasks — some of them
might be.
Consider, for example, computer programs that play chess. Current
programs are quite proficient — the best experimental systems play at the
human "expert" level, but not as well as human chess "masters." The
programs work by searching through a space of possible moves, that is,
considering the alternative moves and their consequences several steps
ahead in the game, just as human players do. Computers can search
through thousands of moves in the same time it takes human players to
search through a dozen or so, and techniques for efficient searching
constitute some of the core ideas of AI. The reason that computers
cannot beat the best human players is that looking ahead is not all
there is to chess — since there are too many possible moves to search
exhaustively, alternatives must be evaluated without knowing for sure
which will lead to a winning game, and this is one of those abilities
that human experts cannot explicate. Psychological studies have shown
that chess masters have learned to "see" thousands of meaningful
configurations of pieces when they look at a chess position, which
presumably helps them decide on the best move, but no one has yet
designed a computer program that can identify these configurations.
A Artificial Intelligence 7
The Status of Artificial Intelligence
Within most scientific disciplines there are several distinct areas of
research, each with its own specific interests, research techniques, and
terminology. In AI, these specializations include research on language
understanding, vision systems, problem solving, AI tools and program-
ming languages, automatic programming, and several others. As is
apparent from its chapter headings, the Handbook is organized around
the different subareas, as are most reviews of progress in AI. (See, e.g.,
Nilsson's thorough, and surprisingly current, survey of AI research,
written in 1974.) The following discussion of the status of AI attempts
to cut across the subfields, identifying some aspects of intelligent be-
havior and indicating the state of relevant AI research.
There is an important philosophical point here that we will sidestep.
Doing arithmetic or learning the capitals of all the countries of the
world, for example, are certainly activities that indicate intelligence in
humans. The issue here is whether a computer system that can per-
form these tasks can be said to know or understand anything. This
point has been discussed at length (see, e.g., Searle, 1980, and appended
commentary), and we will avoid it here by describing the behaviors as
intelligent and not concerning ourselves with how to describe the ma-
chines that produce them. Many intelligent activities besides numerical
calculation and information retrieval have been accomplished by pro-
grams. Many key thought processes — like recognizing people's faces and
reasoning by analogy — are still puzzles; they are performed so "un-
consciously" by people that adequate computational mechanisms have
not been postulated for them.
One word of caution. Like the different subfields of AI, the dif-
ferent behaviors discussed here are not at all independent. Separating
them out is just a convenient way of indicating what current AI
programs can do and what they can't do. Most AI research projects
are concerned with many, if not all, of these aspects of intelligence.
Problem solving. The first big "successes" in AI were programs that
could solve puzzles and play games like chess. Techniques like looking
ahead several moves and dividing difficult problems into easier sub-
problems evolved into the fundamental AI techniques of search and
problem reduction. Today's programs play championship-level checkers
and backgammon, as well as very good chess. Another problem- solving
program that integrates mathematical formulas symbolically has attained
very high levels of performance and is being used by scientists and
engineers across the country. Some programs can even improve their
performance with experience.
8 Introduction I
As discussed above, the open questions in this area involve capa-
bilities that human players have but cannot articulate, like the chess
master's ability to see the board configuration in terms of meaningful
patterns. Another basic open question involves the original conceptu-
alization of a problem, called in AI the choice of problem represen-
tation. Humans often solve a problem by finding a way of thinking
about it that makes the solution easy — AI programs, so far, must be
told how to think about the problems they solve (i.e., the space in
which to search for the solution).
Logical reasoning. Closely related to problem and puzzle solving
was early work on logical deduction. Programs were developed that
could "prove" assertions by manipulating a database of facts, each
represented by discrete data structures just as they are represented by
discrete formulas in mathematical logic. These methods, unlike many
other AI techniques, could be shown to be complete and consistent.
That is, so long as the original facts were correct, the programs could
prove all theorems that followed from the facts, and only those theo-
rems.
Logical reasoning has been one of the most persistently investigated
subareas of AI research. Of particular interest are the problems of
finding ways of focusing on only the relevant facts in a large database
and of keeping track of the justifications for beliefs and updating them
when new information arrives.
Language. The domain of language understanding was also inves-
tigated by early AI researchers and has consistently attracted interest.
Programs have been written that answer questions posed in English from
an internal database, that translate sentences from one language to
another, that follow instructions given in English, and that acquire
knowledge by reading textual material and building an internal data-
base. Some programs have even achieved limited success in interpreting
instructions spoken into a microphone instead of typed into the
computer. Although these language systems are not nearly so good as
people are at any of these tasks, they are adequate for some
applications. Early successes with programs that answered simple
queries and followed simple directions, and early failures at machine
translation, have resulted in a sweeping change in the whole AI
approach to language. The principal themes of current language-
understanding research are the importance of vast amounts of general,
commonsense world knowledge and the role of expectations, based on the
subject matter and the conversational situation, in interpreting sentences.
A Artificial Intelligence 9
The state of the art of practical language programs is represented
by useful "front ends" to a variety of software systems. These pro-
grams accept input in some restricted form — they cannot handle some of
the nuances of English grammar and are useful for interpreting sentences
only within a relatively limited domain of discourse. There has been
very limited success at translating AI results in language and speech
understanding programs into ideas about the nature of human language
processing.
Programming. Although perhaps not an obviously important aspect
of human cognition, programming itself is an important area of re-
search in AI. Work in this field, called automatic programming, has
investigated systems that can write computer programs from a variety of
descriptions of their purpose — examples of input/output pairs, high-level
language descriptions, and even English descriptions of algorithms.
Progress has been limited to a few, fully worked-out examples. Re-
search on automatic programming may result not only in semiautomat-
ed software- development systems, but also in AI programs that learn
(i.e., modify their behavior) by modifying their own code. Related work
in the theory of programs is fundamental to all AI research.
Learning. Certainly one of the most salient and significant aspects
of human intelligence is the ability to learn. This is a good example of
cognitive behavior that is so poorly understood that very little progress
has been made in achieving it in AI systems. There have been several
interesting attempts, including programs that learn from examples, from
their own performance, and from being told. But in general, learning is
not noticeable in AI systems.
Expertise. Recently the area of expert systems, or "knowledge
engineering," has emerged as a road to successful and useful applications
of AI techniques. Typically, the user interacts with an expert system in
a "consultation dialogue," just as he would interact with a human who
had some type of expertise — explaining his problem, performing sug-
gested tests, and asking questions about proposed solutions. Current ex-
perimental systems have achieved high levels of performance in consul-
tation tasks like chemical and geological data analysis, computer system
configuration, structural engineering, and even medical diagnosis. Expert
systems can be viewed as intermediaries between human experts, who
interact with the systems in "knowledge acquisition" mode, and human
users who interact with the systems in "consultation mode." Fur-
thermore, much research in this area of AI has focused on endowing
these systems with the ability to explain their reasoning, both to make
10 Introduction I
the consultation more acceptable to the user and to help the human
expert find errors in the system's reasoning when they occur.
Current research deals with a variety of problems in the design of
expert systems. These systems are built through the painstaking inter-
action of a domain expert, who may not be able to articulate all of his
knowledge, and the systems designer; the knowledge-acquisition process is
the big bottleneck in the construction of expert systems. Current
systems are limited in scope and do not have the same sense as humans
have about knowing when they might be wrong. New research involves
using the systems to teach novices as well as to consult with prac-
titioners.
Robotics and vision. Another part of AI research that is receiving
increasing attention involves programs that manipulate robot devices.
Research in this field has looked at everything from the optimal move-
ment of robot arms to methods of planning a sequence of actions to
achieve a robot's goals. Although more complex systems have been
built, the thousands of robots that are being used today in industrial
applications are simple devices that have been programmed to perform
some repetitive task. Most industrial robots are "blind," but some see
through a TV camera that transmits an array of information back to
the computer. Processing visual information is another very active, and
very difficult, area of AI research. Programs have been developed that
can recognize objects and shadows in visual scenes, and even identify
small changes from one picture to the next, for example, for aerial
reconnaissance.
Systems and languages. In addition to work directly aimed at
achieving intelligence, the development of new tools has always been an
important aspect of AI research. Some of the most important contri-
butions of AI to the world of computing have been in the form of spin-
offs. Computer- systems ideas like time-sharing, list processing, and
interactive debugging were developed in the AI research environment.
Specialized programming languages and systems, with features designed
to facilitate deduction, robot manipulation, cognitive modeling, and so
on, have often been rich sources of new ideas. Most recently, several
knowledge-representation languages — computer languages for encoding
knowledge and reasoning methods as data structures and procedures —
have been developed in the last five years to explore a variety of ideas
about how to build reasoning programs. Terry Winograd's article
"Beyond Programming Languages" (1979) discusses some of his ideas
about the future of computing, inspired, in part, by his AI research.
Artificial Intelligence 11
Invitation
There has been much activity and progress in the 25-year history of
AI. And there is more activity now than ever. AI is a relatively well-
funded discipline, principally, in the United States, by the Defense
Department's Advanced Research Projects Agency and other government
agencies. There are active AI research groups in other countries, in-
cluding Japan, Canada, Britain, France, Germany, Australia, Italy, and
the USSR. Increasing research support is coming from the private
sector, where interest in using and marketing AI programs is on the
rise. The real shortage is people — there are only a few AI research
groups in universities and corporate laboratories; in terms of the number
of people involved, the field is still quite small.
So, let us end this introduction with an invitation to those of you
who are not working in AI: to join us in this rapidly moving field.
The excitement of creating a powerful new technology is coupled in AI,
as perhaps in no other field these days, with the potential for stumbling
upon new insights into one of the big questions: Physicists ask what
kind of place this universe is and seek to characterize its behavior
systematically. Biologists ask what it means for a physical system to be
living. We in AI wonder what kind of information-processing system can
ask such questions.
B. THE AI HANDBOOK
By the mid-1970s, the science and technology of Artificial Intel-
ligence had matured to the point at which widespread and significant
application appeared to be possible. The move to application, though
deemed desirable by both researchers and supporters, was inhibited by
two factors. First, there was no cadre of industrial scientists and engi-
neers schooled in the principles and techniques of the field. This was a
problem of education. Most scientists and engineers, though very knowl-
edgeable about the "standard" computer methods (e.g., numerical and
statistical methods, simulation methods), simply had never heard about
symbolic computation or Artificial Intelligence. There were so few
courses in so few places, and so little literature accessible to and com-
prehensible by newcomers, that ignorance of AI and how to use it was
almost total. Second, too few new people were being trained in AI,
partly as a result of the same lack of written material that could be
easily taught and easily learned.
The project to write a Handbook of Artificial Intelligence was begun
as an attempt to fill this void. Initially, the Handbook was conceived as
a self-help encyclopedia to which the aspiring practitioner could turn for
explanations of fundamental ideas, descriptions of methods, and discus-
sions of well-known programs as case studies. (This early goal has not
been completely satisfied — within the limits of our energy there always
seemed to be a few loose threads and uncovered topics.) As work pro-
gressed, it became clear that the material would be of great use to the
Computer Science student studying AI, as an adjunct to a course or
under the guidance of a faculty member, and our focus shifted some-
what toward this important audience.
The Handbook has turned out to be the most comprehensive ref-
erence work ever produced of the material that constitutes the science
and technology of AI. But it is not a synthesis of that material, and it
is not a text.
A typical chapter of the Handbook represents, first, the efforts of
Stanford graduate students in AI to collect relevant material and draft
sections; second, the effort of a chapter editor to clarify, reorganize,
often rewrite the draft material, and prepare useful overview sections;
third, the efforts of the Handbook editors to ensure a certain homo-
geneity of style, completeness of material, correctness of material as
checked by specialists they consulted, and of course comprehensibility;
B The AI Handbook 13
and fourth, the effort of a professional book editor to add the final
polish necessary for book form.
The Handbook's organization, printed on the inside covers, is not the
only way to divide up the material of AI. Some topics belong in more
than one place. Other topics do not fit comfortably under any of our
categories. We hope the chosen structure will help the reader to find
what he is looking for most of the time. When this fails, there are
many cross-references in each article that will point the way, as well as
an extensive index for each volume.
The literature references after each article are extensive but certainly
not exhaustive. We reference those readings that we thought would be
of most use to our intended audience. The field of Artificial Intelligence
is young and its literature is not immense, so the references listed with
each article should prove to be adequate indirect pointers to just about
everything published on the subject.
C. THE AI LITERATURE
One of the goals of the Handbook of Artificial Intelligence is to
assist researchers and students in finding relevant material in the lit-
erature. Artificial Intelligence is a relatively young discipline and does
not have a vast bibliography. Nevertheless, it is becoming increasingly
difficult to find and follow publications of interest, partly because of the
diversity of the backgrounds of researchers and the variety of journals
in which they publish. Throughout the Handbook there are extensive
citations of the "best next things to read" on each of the topics
covered. This article is an attempt to map out roughly the geography
of the field's literature and to suggest further readings of general
interest.
Early Work (Through 1965)
The early period of AI research, through the mid-1960s, is well rep-
resented in the collections of papers entitled Computers and Thought and
Semantic Information Processing, which were edited by Feigenbaum and
Feldman (1963) and Minsky (1968), respectively. Both collections con-
tain papers about the history of AI ideas as well as republications of
reports on important early AI systems, many of which were done by
graduate students as part of their research for doctoral dissertations.
Human Problem Solving by Newell and Simon (1972) also contains a
"Historical Addendum," giving their view of the origins of the discipline.
This classic book on information processing psychology summarizes and
synthesizes their 15 years of pioneering research into computational
models of human cognition.
The series of edited volumes entitled Machine Intelligence started
publication in 1967 and now includes nine collections of papers by many
of the most influential AI researchers. Finally, McCorduck (1979) gives
an insightful history of the early days of AI, focusing on the researchers
themselves, in her entertaining book Machines Who Think.
The Middle Period (1966-1975)
The publication of Understanding Natural Language by Winograd
(1972) was a landmark in the period of extensive AI research in lan-
guage processing. Other books describing related work of this period
include the collections of papers entitled Computer Models of Thought
C The AI Literature 15
and Language (Schank and Colby, 1973), The Psychology of Computer
Vision (Winston, 1975), and Representation and Understanding (Bobrow
and Collins, 1975). Several papers on knowledge representation in the
last two volumes were especially influential and discuss topics of active
interest.
Nilsson (1974) provides an excellent short survey of all of the
different AI research areas in the early 1970s, showing their inter-
relations and state of progress. Nilsson also wrote an influential text-
book of Artificial Intelligence (1971), bringing together core ideas in
search and theorem proving.
Textbooks and Other General Introductions
In recent years there have been several books discussing AI and
related topics aimed at the nontechnical audience. These include Arti-
ficial Intelligence and Natural Man by Boden (1977) and the book by
McCorduck (1979) mentioned above. Also of interest along these lines is
Simon's short, but great, Sciences of the Artificial (1969). The book
Gbdel, Escher, Bach: an Eternal Golden Braid, by Hofstadter (1979),
discusses the development of some important ideas about the formal-
ization of reasoning and their relation to AI. These books try to ex-
plain what is important and interesting about AI and how research in
AI progresses through its programs.
Although somewhat more technical, the books by Norman and
Rumelhart (1975) and Schank and Abelson (1977) develop, from first
principles, entire conceptual systems for building AI programs (especially
systems for natural language understanding). In a similar vein, Ander-
son and Bower (1973) present a self-contained introduction to AI- related
work in models of human cognition, specifically the modeling of human
sentence-memory.
The general textbooks on AI available now include those by Jackson
(1974), Raphael (1976), and Winston (1977), as well as a completely new
text by Nilsson (1980). Winston's book, Artificial Intelligence, includes
a useful introduction to programming in LISP, the language of pref-
erence for AI research. Nilsson's recent book attempts to present all of
AI from a formal perspective, stressing the fundamental ideas of search,
logic, and productions. Winograd's forthcoming Language as a Cognitive
Process is an excellent introduction to AI research in understanding
natural language and related work in the representation of knowledge.
Charniak, Riesbeck, and McDermott's Artificial Intelligence Program-
ming (1980) is a thorough introduction to LISP programming techniques.
Siklossy (1976) has written a good, elementary introduction to LISP
16 Introduction I
programming, called Let's Talk LISP. A more technical treatment of
LISP is Anatomy of LISP by Allen (1978).
Recent Technical Publications
Recent AI research is described in the collections of papers on in-
ference systems edited by Waterman and Hayes-Roth (1978), on vision
systems edited by Hanson and Riseman (1978a), on speech understanding
edited by Lea (1980b), on knowledge representation edited by Findler
(1979), and on a variety of MIT research projects edited by Winston
and Brown (1979). These collections all contain some excellent research
reports, although, of course, they don't exhaustively cover current work
in the field. Also of interest is the research of Lehnert (1978) and Mar-
cus (1980) on natural language understanding, Barstow (1979) on auto-
matic programming, and Lindsay, Buchanan, Feigenbaum, and Lederberg
(1980) and Davis and Lenat (in press) on expert systems.
Journals and Conferences
Current research typically appears first in technical reports from the
AI laboratories at universities and private companies. These laboratories
include those at the Massachusetts Institute of Technology, Carnegie-
Mellon University, Stanford University, SRI International, Inc., the Rand
Corporation, Bolt Beranek and Newman, Inc., XEROX Palo Alto Re-
search Center, Yale University, Rutgers University, Edinburgh Univer-
sity, Rochester University, the University of Massachusetts, the Univer-
sity of Texas, the University of Maryland, and many others. Short
papers on very current research, as well as longer review papers, can be
found in the proceedings of the large AI conferences: the biennial
International Joint Conference on AI (IJCAI) and the annual national
meeting of the American Association for Artificial Intelligence (AAAI).
Important AI papers can also often be found in the proceedings of the
conference on Theoretical Issues in Natural Language Processing
(TINLAP), the annual meetings of the Association for Computational
Linguistics (ACL), and the Artificial Intelligence in Medicine workshops
(AIM).
The refereed journals and periodicals publish high-quality, current
research papers. These include the journal Artificial Intelligence and the
journal of the Cognitive Science Society, entitled Cognitive Science.
Also, the ACL publishes a journal, called the American Journal of
Computational Linguistics. The SIGART Newsletter, published by the
special interest group on artificial intelligence of the Association for
Computing Machinery (ACM), and the European AISB Newsletter, contain
C The AI Literature 17
news, book reviews, and short articles on current activity. Finally, the
AAAI has started publication of a semitechnical AI Magazine.
Other periodical publications sometimes containing AI papers include
the journals Cognition, International Journal of Man-Machine Studies,
Behavioral and Brain Sciences, Transactions on Pattern Recognition and
Machine Intelligence of the Institute of Electronic and Electrical Engi-
neers (IEEE), Communications of the Association for Computing Machin-
ery (CACM), the interdisciplinary newsletter Cognition and Brain Theory,
and the popular magazine entitled Robotics Age.
Recommendations
Readings on specific areas of AI research are, of course, suggested
after each article in the Handbook. Almost all of the books mentioned in
this article contain some material that would be appropriate for, and of
interest to, the general reader. Serious students of AI these days follow
the various AI conference proceedings, the two journals Artificial Intel-
ligence and Cognitive Science, the SIGART and AISB newletters, and the
AI Magazine.
Chapter II
Search
CHAPTER H: SEARCH
A. Overview / 21
B. Problem Representation / 82
1. State-space Representation / 32
2. Problem-reduction Representation / 86
8. Game Trees / 48
C. Search Methods / 46
1. Blind State-space Search / 46
2. Blind AND/OR Graph Search / 54
8. Heuristic State-space Search / 58
a. Basic Concepts in Heuristic Search / 58
b. A* — Optimal Search for an Optimal Solution / 64
c. Relaxing the Optimality Requirement / 67
d. Bidirectional Search / 72
4- Heuristic Search of an AND/OR Graph / 74
5. Game Tree Search / 84
a. Minimax Procedure / 84
b. Alpha-Beta Pruning / 88
c. Heuristics in Game Tree Search / 94
D. Sample Search Programs / 109
1. Logic Theorist / 109
2. General Problem Solver / 118
8. Gelernter's Geometry Theorem-proving Machine / 119
4. Symbolic Integration Programs / 128
5. STRIPS / 128
6. ABSTRIPS / 135
A. OVERVIEW
In Artificial Intelligence, the terms problem solving and search
refer to a large body of core ideas that deal with deduction, inference,
planning, commonsense reasoning, theorem proving, and related pro-
cesses. Applications of these general ideas are found in programs for
natural language understanding, information retrieval, automatic pro-
gramming, robotics, scene analysis, game playing, expert systems, and
mathematical theorem proving. In this chapter we examine search as a
tool for problem solving in a more limited area. Most of the examples
to be considered in detail are problems that are relatively easy to
formalize. Some typical problems are:
1. finding the solution to a puzzle,
2. finding a proof for a theorem in logic or mathematics,
3. finding the shortest path connecting a set of nonequidistant
points (the traveling- salesman problem),
4. finding a sequence of moves that will win a game, or the best
move to make at a given point in a game,
5. finding a sequence of transformations that will solve a symbolic
integration problem.
Organization of the Chapter
This overview takes a general look at search in problem solving,
indicating some connections with topics considered in other chapters.
The articles in the next section, Section n.B, describe the problem
representations that form the basis of search techniques. The detailed
examples there of state- space and problem- reduction representations will
clarify what is meant by words like search and problem solving in AI.
Readers to whom the subject of search is new are encouraged to turn
to those articles for more concrete presentations of the fundamental
ideas. Section n.B also discusses game trees, which are a historically
and conceptually important class of representations.
Section n.C deals with the algorithms that use these various problem
representations. Blind search algorithms, which treat the search space
syntactically, are contrasted with heuristic methods, which use infor-
mation about the nature and structure of the problem domain to limit
the search. Various search algorithms are presented in full.
22 Search II
Finally, Section n.D reviews some well-known early programs based
on search. It also describes two programs, STRIPS and ABSTRIPS, that
introduce the closely related topic of planning in problem solving. This
general topic, however, is treated more fully in Chapter XVI, in
Volume m.
Components of Search Systems
Problem- solving systems can usually be described in terms of three
main components. The first of these is a database, which describes both
the current task-domain situation and the goal. The database can
consist of a variety of different kinds of data structures including arrays,
lists, sets of predicate calculus expressions, property list structures, and
semantic networks. In- theorem proving, for example, the current task-
domain situation consists of assertions representing axioms, lemmas, and
theorems already proved; the goal is an assertion representing the
theorem to be proved. In information-retrieval applications, the current
situation consists of a set of facts, and the goal is the query to be
answered. In robot problem solving, a current situation is a world model
consisting of statements describing the physical surroundings of the
robot, and the goal is a description that is to be made true by a
sequence of robot actions.
The second component of problem- solving systems is a set of oper-
ators that are used to manipulate the database. Some examples of
operators include:
1. in theorem proving, rules of inference such as modus ponens
and resolution;
2. in chess, rules for moving chessmen;
3. in symbolic integration, rules for simplifying the forms to be
integrated, such as integration by parts or trigonometric sub-
stitution.
Sometimes the set of operators consists of only a few general rules of
inference that generate new assertions from existing ones. Usually it is
more efficient to use a large number of very specialized operators that
generate new assertions only from very specific existing ones.
The third component of a problem- solving system is a control strat-
egy for deciding what to do next — in particular, what operator to apply
and where to apply it. Sometimes control is highly centralized, in a
separate control executive that decides how problem- solving resources
should be expended. Sometimes control is diffusely spread among the
operators themselves.
A Overview 23
The choice of a control strategy affects the contents and organi-
zation of the database. In general, the object is to achieve the goal by
applying an appropriate sequence of operators to an initial task- domain
situation. Each application of an operator modifies the situation in
some way. If several different operator sequences are worth considering,
the representation often maintains data structures showing the effects on
the task situation of each alternative sequence. Such a representation
permits a control strategy that investigates various operator sequences in
parallel or that alternates attention among a number of sequences that
look relatively promising. This is the character of most of the algo-
rithms considered in this chapter; they assume a database containing de-
scriptions of multiple task-domain situations or states (see, e.g., Article
n.Ci). ., It may be, however, that the description of a task-domain
situation is too large for multiple versions to be stored explicitly; in this
case, a backtracking control strategy may be used (see Article VI.B3, in
Vol. n). A third approach is possible in some types of problems such
as theorem proving, where the application of operators can add new
assertions to the description of the task-domain situation but never can
require the deletion of existing assertions. In this case, the database
can describe a single, incrementally changing task-domain situation;
multiple or alternative descriptions are unnecessary. (See Chap, xn, in
Vol. m.)
Reasoning Forward and Reasoning Backward
The application of operators to those structures in the database that
describe the task-domain situation — to produce a modified situation — is
often called reasoning forward. The object is to bring the situation, or
problem state, forward from its initial configuration to one satisfying a
goal condition. For example, an initial situation might be the place-
ment of chessmen on the board at the beginning of the game; the
desired goal, any board configuration that is a checkmate; and the
operators, rules for the legal moves in chess.
An alternative strategy, reasoning backward, involves another type of
operator, which is applied, not to a current task-domain situation, but
to the goal. The goal statement, or problem statement, is converted to
one or more subgoals that are (one hopes) easier to solve and whose
solutions are sufficient to solve the original problem. These subgoals may
in turn be reduced to sub-subgoals, and so on, until each of them is
accepted to be a trivial problem or its subproblems have been solved.
For example, given an initial goal of integrating l/(cos2 x) dx, and an
operator permitting l/(cos x) to be rewritten as sec x, one can work
24 Search II
backward toward a restatement of the goal in a form whose solution is
immediate: The integral of sec2 x is tan x.
The former approach is said to use forward reasoning and to be
data driven or bottom-up. The latter uses backward reasoning and is goal
directed or top-down. The distinction between forward and backward
reasoning assumes that the current task- domain situation or state is
distinct from the goal. If one chooses to say that a current state is the
state of having a particular goal, the distinction naturally vanishes.
Much human problem- solving behavior is observed to involve
reasoning backward, and many artificial intelligence programs are based
on this general strategy. In addition, combinations of forward and
backward reasoning are possible. One important AI technique involving
forward and backward reasoning is called means- ends analysis; it in-
volves comparing the current goal with a current task- domain situation
to extract a difference between them. This difference is then used to
index the (forward) operator most relevant to reducing the difference. If
this especially relevant operator cannot be immediately applied to the
present problem state, subgoals are set up to change the problem state
so that the relevant operator can be applied. After these subgoals are
solved, the relevant operator is applied and the resulting, modified
situation becomes a new starting point from which to solve for the
original goal. (See Articles n.D2 and n.D5.)
State Spaces and Problem Reduction
A problem- solving system that uses forward reasoning and whose
operators each work by producing a single new object — a new state —
in the database is said to represent problems in a state- space repre-
sentation (see Article n.Bi).
For backward reasoning, a distinction may be drawn between two
cases. In one, each application of an operator to a problem yields
exactly one new problem, whose size or difficulty is typically slightly less
than that of the previous problem. Systems of this kind will also be
referred to, in this chapter, as employing state-space representations.
Two instances of such representations are presented later in the chapter.
One example is the Logic Theorist program (Article n.Di); the other is
the backward-reasoning part of Pohl's bidirectional search (Articles n.Cl
and n.C3d).
A more complex kind of backward reasoning occurs if applying an
operator may divide the problem into a set of subproblems, perhaps
each significantly smaller than the original. An example would be an op-
A Overview 25
erator changing the problem of integrating 2/ (3? - 1) dx into the three
subproblems of integrating l/(x-l)dx, integrating -l/(x+l) dx, and
adding the results. A system using this kind of backward reasoning,
distinguished by the fact that its operators can change a single object
into a conjunction of objects, will be said to employ a problem-reduction
representation. The relation between problem-reduction and state-space
representations is examined further at the end of Article n.B2.
There may or may not be constraints on the order in which the
subproblems generated by a problem-reduction system can be solved.
Suppose, for example, that the original problem is to integrate
(f (x) -\- g (x)) dx. Applying the obvious operator changes it to the new
problem consisting of two integrations, f(x) dx and g(x) dx. Depending on
the representation, the new problem can be viewed as made up of either
(a) two integration subproblems that can be solved in any order or
(b) two integration subproblems plus the third subproblem of summing
the integrals. In the latter case, the third task cannot be done until
the first two have been completed.
Besides the state- space and problem-reduction approaches, other
variations on problem representation are possible. One is used in game-
playing problems, which differ from most other problems by virtue of
the presence of adversary moves. A game-playing problem must be
represented in a way that takes into account the opponent's possible
moves as well as the player's own. The usual representation is a game
tree (see Article n.B3), which shares many features of a problem-
reduction representation. Another variation is relevant to theorem-
proving systems, many of which use forward reasoning and operators
(rules of inference) that act on conjunctions of objects in the database.
Although the representations discussed here assume that each operator
takes only a single object as input, it is possible to define a theorem-
proving representation that provides for multiple-input, single-output
operators (Kowalski, 1972; see also Chap, xn, in Vol. m).
Graph Representation
In either a state-space or a problem-reduction representation,
achieving the desired goal can be equated with finding an appropriate
finite sequence of applications of available operators. While what one is
primarily interested in — the goal situation or the sequence that leads to
it— may depend on the problem, the term search can always be under-
stood, without misleading consequences, as referring to the search for an
appropriate operator sequence.
26 Search II
Tree structures are commonly used in implementing control strat-
egies for the search. In a state- space representation, a tree may be
used to represent the set of problem states produced by operator
applications. In such a representation, the root node of the tree
represents the initial problem situation or state. Each of the new states
that can be produced from this initial state by the application of just
one operator is represented by a successor node of the root node.
Subsequent operator applications produce successors of these nodes, and
so on. Each operator application is represented by a directed arc of the
tree. In general, the states are represented by a graph rather than by a
tree, since there may be different paths from the root to any given
node. Trees are an important special case, however, and it is usually
easier to explain their use than that of graphs. (See Article n.Bi.)
Besides these ordinary trees and graphs, which are used for state-
space representations, there are also specialized ones called AND/ OR
graphs that are used with problem- solving methods involving problem
reduction. For problems in which the goal can be reduced to sets of
subgoals, AND/ OR graphs provide a means for keeping track of which
subgoals have been attempted and which combinations of subgoals are
sufficient to achieve the original goal. (See Article n.B2.)
The Search Space
The problem of producing a state that satisfies a goal condition can
now be formulated as the problem of searching a graph to find a node
whose associated state description satisfies the goal. Similarly, search
based on a problem-reduction representation can be formulated as the
search of an AND/ OR graph.
It should be noted that there is a distinction between the graph to
be searched and the tree or graph that is constructed as the search
proceeds. In the latter, nodes and arcs can be represented by explicit
data structures; the only nodes included are those for which paths from
the initial state have actually been discovered. This explicit graph,
which grows as the search proceeds, will be referred to as a search
graph or search tree.
In contrast, the graph to be searched is ordinarily not explicit. It
may be thought of as having one node for every state to which there is
a path from the root. It may even be thought of, less commonly, as
having one node for every state that can be described, whether or not a
path to it exists. The implicit graph will be called the state space or,
if generalized to cover non- state- space representations such as AND/OR
graphs or game trees, the search space. Clearly, many problem domains
A Overview 27
(such as theorem proving) have an infinite search space, and the search
space in others, though finite, is unimaginably large. Estimates of
search- space size may be based on the total number of nodes (however
defined) or on other measures. In chess, for example, the number of
different complete plays of the average-length game has been estimated
at 10120 (Shannon, 1950, 1956), although the number of "good" games is
much smaller (see Good, 1968). Even for checkers, the size of the
search space has been estimated at 1040 (Samuel, 1963).
Searching now becomes a problem of making just enough of the
search space explicit in a search graph to contain a solution of the
original goal. If the search space is a general graph, the search graph
may be a subgraph, a subgraph that is also a tree, or a tree obtained
by representing distinct paths to one search space node with duplicate
search graph nodes.
Limiting Search
The critical problem of search is the amount of time and space
necessary to find a solution. As the chess and checkers estimates
suggest, exhaustive search is rarely feasible for nontrivial problems.
Examining all sequences of n moves, for example, would require
operating in a search space in which the number of nodes grows
exponentially with n. Such a phenomenon is called a combinatorial
explosion.
There are several complementary approaches to reducing the number
of nodes that a search must examine. One important way is to recast
the problem so that the size of the search space is reduced. A dra-
matic, if well-known, example is the mutilated chessboard problem:
Suppose two diagonally opposite corner squares are removed from a
standard 8 by 8 square chessboard. Can 31 rectangular dominoes,
each the size of exactly two squares, be so placed as to cover
precisely the remaining board? (Raphael, 1976, p. 31)
If states are defined to be configurations of dominoes on the mutilated
board, and an operator has the effect of placing a domino, the search
space for this problem is very large. If, however, one observes that
every domino placed must cover both a red square and a black one and
that the squares removed are both of one color, the answer is
immediate. Unfortunately, little theory exists about how to find good
problem representations. Some of the sorts of things such a theory
would need to take into account are explored by Amarel (1968), who
gives a sequence of six representations for a single problem, each re-
ducing the search-space size by redefining the states and operators.
28 Search II
A second aspect concerns search efficiency within a given search
space. Several graph- and tree- searching methods have been developed,
and these play an important role in the control of problem- solving
processes. Of special interest are those graph- searching methods that
use heuristic knowledge from the problem domain to help focus the
search. In some types of problems, these heuristic search techniques can
prevent a combinatorial explosion of possible solutions. Heuristic search
is one of the key contributions of AI to efficient problem solving.
Various theorems have been proved about the properties of search
techniques, both those that do and those that do not use heuristic
information. Briefly, it has been shown that certain types of search
methods are guaranteed to find optimal solutions (when such exist).
Some of these methods, under certain comparisons, have also been
shown to find solutions with minimal search effort. Graph- and tree-
searching algorithms, with and without the use of heuristic information,
are discussed at length in Section n.C.
A third approach addresses the question: Given one representation
of a search problem, can a problem- solving system be programmed to
find a better representation automatically? The question differs from
that of the first approach to limiting search in that here it is the
program, not the program designer, that is asked to find the improved
representation. One start on answering the question was made by the
STRIPS program (Article n.D5). STRIPS augments its initial set of
operators by discovering, generalizing, and remembering macro- operators,
composed of sequences of primitive operators, as it gains problem- solving
experience. Another idea was used in the ABSTRIPS program (Article
n.D6), which implements the idea of planning, in the sense of defining
and solving problems in a search space from which unimportant details
have been omitted. The details of the solution are filled in (by smaller
searches within the more detailed space) only after a satisfactory outline
of a solution, or plan, has been found. Planning is a major topic itself;
for further discussion, see Chapter XVI, in Volume m.
The Meaning of Heuristic and Heuristic Search
Although the term heuristic has long been a key word in AI, its
meaning has varied both among authors and over time. In general, its
usage is illustrated by example better than by definition, and several
of the prime examples are included in the programs of Section n.D.
However, a brief review of the ways heuristic and heuristic search have
been used may provide a useful warning against taking any single
definition too seriously.
A Overview 29
As an adjective, the most frequently quoted dictionary definition for
heuristic is "serving to discover." As a noun, referring to an obscure
branch of philosophy, the word meant the study of the methods and
rules of discovery and invention (see Polya, 1957, p. 112).
When the term came into use to describe AI techniques, some
writers made a distinction between methods for discovering solutions and
methods for producing them algorithmically. Thus, Newell, Shaw, and
Simon stated in 1957: "A process that may solve a given problem, but
offers no guarantees of doing so, is called a heuristic for that problem"
(Newell, Shaw, and Simon, 1963b, p. 114). But this meaning was not
universally accepted. Minsky, for example, said in a 1961 paper:
The adjective "heuristic," as used here and widely in the literature,
means related to improving problem-solving performance; as a noun it is
also used in regard to any method or trick used to improve the
efficiency of a problem-solving program. . . . But imperfect meth-
ods are not necessarily heuristic, nor vice versa. Hence "heuristic"
should not be regarded as opposite to "foolproof; this has caused
some confusion in the literature. (Minsky, 1963, p. 407n.)
These two definitions refer, though vaguely, to two different sets —
devices that improve efficiency and devices that are not guaranteed.
Feigenbaum and Feldman (1963) apparently limit heuristic to devices
with both properties:
A heuristic (heuristic rule, heuristic method) is a rule of thumb,
strategy, trick, simplification, or any other kind of device which
drastically limits search for solutions in large problem spaces.
Heuristics do not guarantee optimal solutions; in fact, they do not
guarantee any solution at all; all that can be said for a useful heuristic
is that it offers solutions which are good enough most of the time. (p. 6;
italics in original)
Even this definition, however, does not always agree with common
usage, because it lacks a historical dimension. A device originally
introduced as a heuristic in Feigenbaum and Feldman 's sense may later
be shown to guarantee an optimal solution after all. When this hap-
pens, the label heuristic may or may not be dropped. It has not been
dropped, for example, with respect to the A* algorithm (Article n.C3b).
Alpha-beta pruning (Article n.C5b), on the other hand, is no longer
called a heuristic.
It should be noted that the definitions quoted above, ranging in
time from 1957 to 1963, refer to heuristic rules, methods, and programs,
but they do not use the term heuristic search. This composite term
30 Search II
appears to have been first introduced in 1965 in a paper by Newell and
Ernst, "The Search for Generality" (see Newell and Simon, 1972,
p. 888). The paper presented a framework for comparing the methods
used in problem- solving programs up to that time. The basic frame-
work, there called heuristic search, was the one called state-space search
in the present chapter. Blind search methods were included in the
heuristic search paradigm.
A similar meaning for heuristic search appears in Newell and Simon
(1972, pp. 91-105). Again, no contrast is drawn between heuristic
search and blind search; rather, heuristic search is distinguished from a
problem- solving method called generate and test. The difference between
the two is that the latter simply generates elements of the search space
(i.e., states) and tests each in turn until it finds one satisfying the goal
condition; whereas in heuristic search the order of generation can depend
both on information gained in previous tests and on the characteristics
of the goal. But the Newell and Simon distinction is not a hard and
fast one. By the time of their 1976 Turing Lecture, they seem to have
collapsed the two methods into one:
Heuristic Search. A second law of qualitative structure for AI is
that symbol systems solve problems by generating potential
solutions and testing them, that is, by searching. (Newell and
Simon, 1976, p. 126)
In the present chapter, the meaning attached to heuristic search
stems not from Newell and Simon but from Nilsson, whose 1971 book
provides the most detailed and influential treatment of the subject that
has yet appeared. For Nilsson, the distinction between heuristic search
and blind search is the important one. Blind search corresponds
approximately to the systematic generation and testing of search- space
elements, but it operates within a formalism that leaves room for
additional information about the specific problem domain to be
introduced, rather than excluding it by definition. If such information,
going beyond that needed merely to formulate a class of problems as
search problems, is in fact introduced, it may be possible to restrict
search drastically. Whether or not the restriction is foolproof, the
search is then called heuristic rather than blind.
References
See Amarel (1968), Feigenbaum and Feldman (1963), Good (1968),
Jackson (1974), Kowalski (1972), Minsky (1963), Newell and Ernst
(1965), Newell, Shaw, and Simon (1963b), Newell and Simon (1972,
A Overview 31
1976), Nilsson (1971), Polya (1957), Raphael (1976), Samuel (1963),
Shannon (1950, 1956), and Vanderbrug and Minker (1975).
B. PROBLEM REPRESENTATION
Bl. State-space Representation
A state- space representation of a problem employs two kinds of
entities: states, which are data structures giving "snapshots" of the
condition of the problem at each stage of its solution, and operators,
which are means for transforming the problem from one state to
another.
A straightforward example of state- space representation is the sim-
ple, well-known puzzle called the 8-puzzle. An 8-puzzle is a square tray
containing eight square tiles of equal size, numbered 1 to 8. The space
for the ninth tile is vacant (see Fig. Bl-1).
2
1
6
4
8
7
5
3
Figure Bl-1. An 8-puzzle.
A tile may be moved by sliding it vertically or horizontally into the
empty square. The problem is to transform some particular tile config-
uration, say, that of Figure Bl-1, into another given tile configuration,
say, that of Figure Bl-2.
1
2
3
8
4
7
6
5
Figure Bl-2. A solution configuration
of the 8-puzzle.
Bl State-space Representation 33
A state is a particular configuration of tiles; each state might be
represented by a 3 X 3 matrix, similar to Figures Bl-1 and Bl-2. The
operators, corresponding to possible moves, might be defined with sep-
arate operators for each of tiles 1 through 8. However, a more concise
definition is made possible by viewing the empty square as the object to
be moved and stating the operators in terms of the movements of this
square. In this formulation, only four operators are used:
UP Move the blank up one square,
DOWN Move the blank down one square,
LEFT Move the blank left one square,
RIGHT Move the blank right one square.
An operator may be inapplicable in certain states, as when it would
move the blank outside the tray of tiles.
The set of all attainable states of a problem is often called its state
space. The 8-puzzle, for example, has a state space of size 9!/2 — since
there are 9! configurations of the tiles but only half this number can be
reached from any given starting configuration. This comes to only
181,440 possible states. For comparison, see the discussion of chess and
checkers in Article n.A.
The four operators defined for the 8-puzzle form a set of partial
functions on the state space: Each operator, if it applies to a given
state at all, returns exactly one new state as its result. In more complex
problems, however, the operators often contain variables. If, for a par-
ticular state and operator, the variables can be instantiated in more
than one way, then each instantiation yields one new state, and the
operators of the problem, if they are to be considered as defining
functions, are more accurately termed operator schemata.
The complete specification of a state- space problem has three com-
ponents. One is a set 0 of operators or operator schemata. In addition,
one must define a set S of one or more initial states and find a
predicate defining a set G of goal states. A state-space problem is then
the triple (S, 0, G). A solution to the problem is a finite sequence of
applications of operators that changes an initial state into a goal state.
A state space can be treated as a directed graph whose nodes are
states and whose arcs are operators transforming one state to another.
For example, if state 1 is a state to which any of three operators can
be applied, transforming it to state 2, 3, or 4, then the corresponding
graph would be as in Figure Bl-3. Nodes 2, 3, and 4 are called the
successors of node 1.
34
Search
n
node
2
node
1
node
3
node
4
Figure Bl-3. Directed arcs.
In graph notation, a solution to a state-space problem is a path
from an initial node to a goal node. In Figure Bl-4, one solution would
be an application of operator B twice, followed by operator D, to reach
the indicated goal node or final state. There may be other final states
and multiple ways to reach a particular final state.
initial state
*
operator A / \ operator B
state 1
operator C
state 4
operator B
state 3
operator D
final state
Figure Bl-4. A state-space graph.
A common variation on state- space problems requires finding not
just any path but one of minimum cost between an initial node and a
goal node. In this case, each arc of the graph is labeled with its cost.
An example is the traveling- salesman problem: Given a number of
cities to be visited and the mileage between each pair of cities, find a
minimum-mileage trip beginning and ending at city A that visits each of
the other cities exactly once. A sample mileage chart and the corre-
sponding state-space graph are shown in Figure Bl-5. Because different
paths to the same city represent distinct partial solutions, each state is
identified not just as a city name but as a list of the cities visited so
far.
Bl
State-space Representation
35
A
—
4 6
10
B
7
10
C
—
5
D
Mi
leage chart
4
AB
10
ABC
ABD
10
6
AC
ACB
ACD
10
10
10
10
AD
10
ADB
ABCD ABDC ACBD ACDB ADBC
ADC
ADCB
ABCDA ABDCA ACBDA ACDBA ADBCA ADCBA
Figure Bl-5. The state- space graph for
a traveling- salesman problem.
The desired solution is A-B-D-C-A, or its reversal, with a total
mileage of 25. (The two bottom levels of the graph could be omitted,
since the mileage of each tour of n cities is determined by the first
n-1 cities chosen to be visited.)
Because the state-space graph is usually too large to represent
explicitly, the problem of searching for a solution becomes one of
generating just enough of the graph to contain the desired solution
path. Search methods are discussed in Articles n.Ci and n.C3.
References
See Nilsson (1971).
B2. Problem-reduction Representation
Often distinguished from the state- space representation of problems
is a technique called problem-reduction representation. In the problem-
reduction approach, the principal data structures are problem de-
scriptions or goals. An initial problem description is given; it is solved
by a sequence of transformations that ultimately change it into a set of
subproblems whose solutions are immediate. The transformations per-
mitted are defined as operators. An operator may change a single
problem into several subproblems; to solve the former, all the sub-
problems must be solved. In addition, several different operators may
be applicable to a single problem, or the same operator may be appli-
cable in several different ways. In this case, it suffices to solve the
subproblems produced by any one of the operator applications. A
problem whose solution is immediate is called a primitive problem.
Thus, a problem representation using problem reduction is defined by a
triple consisting of —
1. an initial problem description,
2. a set of operators for transforming problems to subproblems,
3. a set of primitive problem descriptions.
Reasoning proceeds backward from the initial goal.
An Example
An example that lends itself nicely to problem-reduction repre-
sentation is the famous Tower of Hanoi puzzle. In one common version
there are three disks, A, B, and C, of graduated sizes. There are also
three pegs, 1, 2, and 3. Initially the disks are stacked on peg 1, with
A, the smallest, on top and C, the largest, at the bottom. The
problem is to transfer the stack to peg 3, as in Figure B2-1, given that
(a) only one disk can be moved at a time and (b) no disk may be
placed on top of a smaller disk.
Initial State
Goal State
A -
B —
C
peg 1 peg 2 peg 3
- A
- B
C
peg 1 peg 2 peg 3
Figure B2-1. The Tower of Hanoi puzzle.
B2
Problem-reduction Representation
37
Only one operator need be used in the solution: Given distinct
pegs i, j, and k, the problem of moving a stack of size n > 1 from
peg % to peg k can be replaced by the three problems:
1. moving a stack of size
2. moving a stack of size
3. moving a stack of size
n -
1
from
i to
;
1
from
i to
k
n -
1
from
; to
k
The only primitive problem is that of moving a single disk from one
peg to another, provided no smaller disk is on the receiving peg. If a
smaller disk were present, this problem would be unsolvable (in view of
the definition of the only available operator).
Each problem description can now be given by specifying the size n
of the stack to be moved, the number of the sending peg, and the
number of the receiving peg. The original problem, moving a stack of
three disks from peg 1 to peg 3, would then be represented as (n = 3,
1 to 3), and the transformation of the original problem to primitive
problems can be represented by a tree, as shown in Figure B2-2:
(i)
n=3
1 to 3
(2)
n=2
1 to 2
(3)
n=l
1 to 3
n=2
2 to 3
(5)
n=l
1 to 3
(6)
n=l
1 to 2
(?)
n=l
3 to 2
(J)
n=l
2 to 1
(9)
n=l
2 to 3
(10)
n=l
1 to 3
Figure B2-2. Solution of the Tower of Hanoi puzzle.
There happen to be two possible operator sequences that transform
the original problem to primitive problems: Apply the operator to
node 1, then node 2, and then node 4; or apply the operator to node 1,
then node 4, and then node 2. Since node 3 is a primitive problem, it
needs no further attention. Node 2 represents the subproblem of
moving the top two disks on peg 1 to peg 2. This subproblem is
solved by expanding it to the primitive problems at nodes 5, 6,
and 7 — which are solved by moving the smallest disk to peg 3, moving
38
Search
n
the middle disk to peg 2, and finally putting the small disk back on
top of the middle one.
The sequence of operators to be applied should be distinguished
from the sequence of actions to be taken to achieve the goal. In the
Tower of Hanoi example, the actions are the actual movements of the
disks. This sequence is given by the terminal nodes of the tree, read
left to right. Whether or not it is considered important to assemble
such a sequence of actions depends on the particular problem domain.
AND/OR Graphs
In the example above, a tree was used to display a problem-
reduction solution to the Tower of Hanoi puzzle. The tree notation
must be generalized if it is to represent the full variety of situations
that may occur in problem reduction. This generalized notation for
problem reduction is called an AND/OR graph.
According to one common formulation (Nilsson, 1971), an AND/OR
graph is constructed according to the following rules:
1. Each node represents either a single problem or a set of prob-
lems to be solved. The graph contains a start node correspond-
ing to the original problem.
2. A node representing a primitive problem, called a terminal node,
has no descendants.
3. For each possible application of an operator to problem P,
transforming it to a set of subprobiems, there is a directed arc
from P to a node representing the resulting subproblem set.
For example, Figure B2-3 illustrates the reduction of P to three
different subproblem sets: A, B, and C. Since P can be solved
if any one of sets A, B, or C can be solved, A, B, and C are
called OR nodes.
Figure B2-3. An AND/OR tree.
B2 Problem-reduction Representation 39
4. Figure B2-3 illustrates further the composition of sets A, B, and
C. Here, A = {£),£'}, B consists of a single (unnamed) problem,
and C== {F, G, H}. In general, for each node representing a set
of two or more subproblems, there are directed arcs from the
node for the set to individual nodes for each subproblem. Since
a set of subproblems can be solved only if its members can all
be solved, the subproblem nodes are called AND nodes. To
distinguish them from OR nodes, the arcs leading to AND-node
successors of a common parent are joined by a horizontal line.
5. A simplification of the graph produced by rules 3 and 4 may be
made in the special case where only one application of an
operator is possible for problem P and where this operator
produces a set of more than one subproblem. As Figure B2-4
illustrates, the intermediate OR node representing the subproblem
set may then be omitted. (Another example of this construc-
tion was given in Fig. B2-2.)
Figure B2-4. An AND/OR tree with one
operator at problem P.
In the figures above, every node represents a distinct problem or set
of problems. Since each node except the start node has just one
parent, the graphs are in fact AND/OR trees. As a variation on
Figure B2-3, assume that problem A is reducible to D and E; and prob-
lem C, to E, G, and H. Then E may be represented either by two
distinct nodes, or by a single node as shown in Figure B2-5. The
choice makes a difference in the search algorithms, which are discussed
later in the chapter. For example, if node E is in turn reducible to C,
the general graph representation simply adds another directed arc to
Figure B2-5, but the corresponding tree becomes infinite.
40
Search
n
Figure B2-5. An AND/OR graph.
The constructions discussed so far concern graphs depicting the
entire problem search space. To find a solution to the initial problem,
one need only build enough of the graph to demonstrate that the start
node can be solved. Such a subgraph is called a solution graph or, in
the more restricted case of an AND/OR tree, a solution tree. The
following rules apply:
A node is solvable if —
1. it is a terminal node (a primitive problem),
2. it is a nonterminal node whose successors are AND nodes that
are all solvable, or
3. it is a nonterminal node whose successors are OR nodes and at
least one of them is solvable.
Similarly, a node is unsolvable if —
1. it is a nonterminal node that has no successors (a nonprimitive
problem to which no operator applies),
2. it is a nonterminal node whose successors are AND nodes and
at least one of them is unsolvable, or
3. it is a nonterminal node whose successors are OR nodes and all
of them are unsolvable.
Methods of searching an AND/ OR graph for such a solution are dis-
cussed in Articles n.C2 and n.C4.
Relation Between Problem-reduction and State-space Representations
Some interesting general relationships can be found between problem-
reduction and state- space representations. In the first place, although
one representation often seems the more natural for a given problem, it
B2 Problem-reduction Representation 41
is often possible to recast the problem definition so that it uses the
other form. For example, the Tower of Hanoi puzzle can also be solved
by a state-space search using operators that move a single disk and that
represent all the legal moves in a given configuration. In comparison to
the problem-reduction representation, which in fact gives an algorithm
for solving the puzzle, the state-space representation would be a poor
one since it leaves room for searching down unnecessarily long paths.
Second, it is possible to translate mechanically between state- space
representations and problem-reduction representations without any fun-
damental shift in the way a problem is viewed. The ways of making
such translations can provide helpful insight into many search programs
in which the concepts of state- space and problem-reduction representa-
tion appear to be intermixed. Several translation schemes are described
below. (Some readers may wish to skip the following material at first
reading.)
State-space to problem-reduction representation. Two approaches
suggest themselves for translating state-space representations to problem-
reduction representations. In one, the state- space graph is understood as
an AND/ OR graph containing only OR nodes. Each state of the state-
space version corresponds to the problem of getting from that state to a
goal state, and a goal state of the state space becomes the primitive
problem of getting from that goal state to itself. In other words, data
structures representing states are simply reinterpreted as representing
problem descriptions, where a problem consists of state information
together with an implicit goal.
Alternately, there is a slight variation of the first approach that
requires redefining the operators of the state- space representation. Each
such operator, taking state i to state j, becomes an operator applicable
to the problem of getting from state i to a goal state. Its effect is to
reduce the problem to a pair of subproblems: (a) go from state i to
state j (a primitive problem) and (b) go from state j to a goal state.
Figure B2-6 illustrates this correspondence.
State i Go from state i to goal state
State j
Go from state i Go from state j
to state j to goa I state
(a primitive problem)
00 (b)
Figure B2-6. (a) Part of a state- space tree; (b) the corresponding
part of an AND/ OR (problem-reduction) tree.
42 Search II
Problem-reduction to . state- space representation. The translation from
a problem-reduction representation to a state- space representation is a
little more complex, assuming that the problem-reduction operators in
fact produce AND nodes. The initial problem of the problem-reduction
representation can be understood as having two components: (a) the
description of the goal to be achieved, as discussed at the beginning of
this article, and (b) the description of an initial state of the world.
These components will be denoted g0 and s0, respectively. Some ex-
amples are
1. 0O = a theorem to be proved, and
Sq = the axioms from which to prove it;
2. 0q = a configuration of objects to be achieved, and
Sq = their existing configuration.
Each state S of the corresponding state- space representation is a pair
consisting of a stack of goals {gv . . ., g0) to be achieved and a current
state s of the world. Thus, the initial state Sq of the state- space repre-
sentation is Sq = {(go), s0). A final state is one in which the stack of
goals to be achieved has been emptied.
For each problem-reduction operator, mapping a problem or goal g
to a set of subgoals {gm, . . ., <7n}, the state-space representation has a
corresponding operator mapping state Sv where S1= (($, . . ., g0), s), to
a state S2 in which {<?m, . . ., <7n} have been added to the top of the
goal stack (in the order in which they should be carried out, if
relevant), and the state of the world 5 is unchanged; that is, S2
= ((0m> • • •» 9w 9v • • •> 9q), s)-
The state-space representation also needs a second type of operator,
which becomes applicable whenever the goal on top of the stack
represents a primitive problem. Its function is to remove that primitive
problem from the stack and, at the same time, to change the state s to
reflect its solution. In the Tower of Hanoi puzzle, for example, the new
state would reflect the changed position of a single disk. In a theorem-
proving problem, the new state would differ from the old one by the
addition of one formula to those that had been given as axioms or
established from having solved previous subproblems. A representation
of this type is used explicitly in Fikes and Nilsson's STRIPS program,
described in Article n.D5.
References
See Jackson (1974) and Nilsson (1971).
B3. Game Trees
Most games played by computer programs, including checkers, chess,
Go, and tic-tac-toe, have several basic features in common. There are
two players who alternate in making moves. At each turn, the rules
define both what moves are legal and the effect that each possible move
will have; there is no element of chance. In contrast to card games in
which the players' hands are hidden, each player has complete in-
formation about his opponent's position, including the choices open to
him and the moves he has made. The game begins from a specified
state, often a configuration of men on a board. It ends in a win for
one player and a loss for the other, or possibly in a draw.
A complete game tree is a representation of all possible plays of
such a game. The root node is the initial state, in which it is the first
player's turn to move. Its successors are the states he can reach in one
move, their successors are the states resulting from the other player's
possible replies, and so on. Terminal states are those representing a
win, loss, or draw. Each path from the root node to a terminal node
gives a different complete play of the game.
An important difference between a game tree and a state- space tree
(Article n.Bi) is that the game tree represents moves of two opposing
players, say, A and B, whereas the arcs of a state-space tree are all
"moves" of a single problem- solving agent. An AND/ OR tree (Article
n.B2), however, is sufficient to reflect this opposition. The game tree is
ordinarily drawn to represent only one player's point of view. In a
game tree drawn from A'& standpoint, A's possible moves from a given
position are represented by OR nodes since they are alternatives under
his own control. The moves that B might make in return are AND
nodes, since they represent sets of moves to which A must be able to
respond. Because the players take turns, OR nodes and AND nodes
appear at alternate levels of the tree. In the language of AND/ OR
graphs, the tree displays the search space for the problem of showing
that A can win. A node representing a win for A corresponds to a
primitive problem; a node representing a win for B or a draw, to an
unsolvable problem. Unlike the usual AND/ OR graph terminology, both
of these kinds of nodes will be called terminal nodes.
As an example, Figure B3-1 shows a portion of the game tree for
tic-tac-toe. The players are X and 0, X has the first move, and the
tree is drawn from X's standpoint. Positions are considered identical if
one can be obtained from the other by rotation or reflection of the grid.
44
Search
n
***
***
***
1
X**
***
1
***
***
*x*
X**
***
1
***
***
1
0**
*x*
***
*0*
*x*
***
1
1
*0*
1
xo*
1
*0*
1
*0*
*x*
*x*
XX*
*x*
X**
***
***
*x*
Figure B3-1. A game tree for Tic-tac-toe.
The tree could also be drawn from O's standpoint, even though X
has the first move. In this case, the AND nodes would become OR
nodes, and vice versa, and the labels "win" and "lose" would be
reversed. An alternate formulation of game trees, not explicitly dis-
tinguishing between AND and OR nodes, is given in Article n.C5a.
Methods of searching a game tree for a winning strategy are
B3 Game Trees 45
discussed in Section n.C5. As with search in other domains, the source
of difficulty in challenging games is the unimaginably large search space.
A complete game tree for checkers, for instance, which is harder than
tic-tac-toe but far simpler than chess or Go, has been estimated as
having about 1040 nonterminal nodes (Samuel, 1963). If one assumed
that these nodes could be generated at the rate of 3 billion per second,
generation of the whole tree would still require around 1021 centuries!
References
See Nilsson (1971) and Samuel (1963).
C. SEARCH METHODS
CI. Blind State-space Search
As discussed in Article n.Bi, a problem in the state-space search
paradigm is defined by a triple (S, 0, G), where
S is a set of one or more initial states,
0 is a set of operators on states, and
G is a set of goal states.
The state space is commonly identified with a directed graph in which
each node is a state and each arc represents the application of an
operator transforming a state to a successor state. A solution is a path
from a start state to a goal state. Goal states may be defined either
explicitly or as the set of states satisfying a given predicate.
The search for a solution is conducted by making explicit just
enough of the state- space graph to contain a solution path. If the order
in which potential solution paths are considered is arbitrary, using no
domain- specific information to judge where the solution is likely to lie,
the search is called blind search. Although blind search is impracticable
for nontrivial problems, because of the large proportion of the state
space it may explore, it provides a useful foundation for the under-
standing of heuristic search techniques, discussed in Section n.C3.
Several blind-search methods are described below; they differ from
one another mainly in the order in which nodes are examined. In each
case, it is assumed that there is a procedure for finding all the suc-
cessors of a given node — that is, all the states that can be reached from
the current state by a single operator application. Such a procedure is
said to expand the given node.
The first three algorithms also make two other assumptions:
1. The state-space graph is a tree. The implication is that there is
only one start state (the root) and that the path from the start
node to any other node is unique. Modifications to the search
methods needed for a general directed graph are noted in
Nilsson (1971) and in Article n.C3a.
2. Whenever a node is expanded, creating a node for each of its
successors, the successor nodes contain pointers back to the par-
ent node. When a goal node is finally generated, this feature
makes it possible to trace the solution path.
CI
Blind State-space Search
47
Breadth- first Search
The breadth-first method expands nodes in order of their proximity
to the start node, measured by the number of arcs between them. In
other words, it considers every possible operator sequence of length n
before any sequence of length n+1. Thus, although the search may be
an extremely long one, it is guaranteed eventually to find the shortest
possible solution sequence if any solution exists.
Breadth-first search is described by the following algorithm:
1. Put the start node on a list, called OPEN, of unexpanded
nodes. If the start node is a goal node, a solution has been
found.
2. If OPEN is empty, no solution exists.
3. Remove the first node, n, from OPEN and place it in a list,
called CLOSED, of expanded nodes.
4. Expand node n. If it has no successors, go to (2).
5. Place all successors of node n at the end of the OPEN list.
6. If any of the successors of node n is a goal node, a solution has
been found. Otherwise, go to (2).
As an example of breadth-first search, consider a world consisting of
a table and three toy blocks. The initial state of the world is that
blocks 2 and 3 are on the table, and block 1 is on top of block 2 (see
Fig. Cl-1). We wish to reach a goal state in which the three blocks
are stacked with block 1 on top, block 2 in the middle, and block 3 on
the bottom.
In i tia I state
Goa I state
Figure Cl-1. A sample problem for breadth- first search.
The only operator is MOVE X to Y, which moves object X onto
another object, Y. As preconditions to applying the operator, it is
required (a) that X, the object to be moved, be a block with nothing
on top of it and (b) that if Y is a block, there must be nothing on Y.
Finally, the operator is not to be used to generate the same state more
than once. (This last condition can be checked from the lists of ex-
panded and unexpanded nodes.)
48
Search
n
Figure CI- 2 shows the search tree generated by the breadth-first
algorithm. The nodes are states SQ through S10; node S^ for example,
corresponds to the successor state of £0 reached by "MOVE block 1 to
the table." The nodes are generated and expanded in the order given
by their numbers, that is, S0, 51? S2, . . ., S10. When the algorithm ter-
minates, finding S10 to be the goal, the list of expanded nodes contains
S0 through S5, and the OPEN list still contains Sq through S10.
SO:
l
2 3
SI:
S2:
l
S3:
3
1 2 3
2 3
1
2
S8: 2
S4: 2
S5: 2 3 S7:' 3
1
1 3
13 12 12
3
S9:
3
S10:
1
2
2
1
3
Figi
ire C
1-2.
The search
tree
for Figure
CM.
Uniform- cost Search
The breadth-first algorithm can be generalized slightly to solve the
problem of finding the cheapest path from the start state to a goal
state. A nonnegative cost is associated with every arc joining two
nodes; the cost of a solution path is then the sum of the arc costs
along the path. The generalized algorithm is called a uniform- cost
search. If all arcs have equal cost, the algorithm reduces to breadth-first
search. The need for assigning costs to the arcs is illustrated by the
traveling- salesman problem, described in Article n.Bi, where the different
distances between cities correspond to the arc costs and the problem is
to minimize the total distance traveled.
In the uniform-cost algorithm given below, the cost of the arc from
node i to node j is denoted by c(i,j). The cost of a path from the
start node to any node i is denoted g(i).
CI Blind State-space Search 49
1. Put the start node, s, on a list, called OPEN, of unexpanded
nodes. If the start node is a goal node, a solution has been
found. Otherwise, set g(s) = 0.
2. If OPEN is empty, no solution exists.
3. Select from OPEN a node i such that g(i) is minimum. If
several nodes qualify, choose node i to be a goal node if there
is one; otherwise, choose among them arbitrarily. Move node i
from OPEN to a list, CLOSED, of expanded nodes.
4. If node i is a goal node, a solution has been found.
5. Expand node i If it has no successors, go to (2).
6. For each successor node j of node i, compute g(j) = g{i)
+ c (i, j ) and place all the successor nodes j in OPEN.
7. Go to (2).
Depth- first Search
Depth-first search is characterized by the expansion of the most re-
cently generated, or deepest, node first. Formally, the depth of a node
in a tree is defined as follows:
1. The depth of the start node is 0.
2. The depth of any other node is one more than the depth of its
predecessor.
As a consequence of expanding the deepest node first, the search follows
a single path through the state space downward from the start node;
only if it reaches a state that has no successors does it consider an
alternate path. Alternate paths systematically vary those previously
tried, changing only the last n steps while keeping n as small as
possible.
In many problems, of course, the state- space tree may be of infinite
depth, or at least may be deeper than some known upper bound on the
length of an acceptable solution sequence. To prevent consideration of
paths that are too long, a maximum is often placed on the depth of
nodes to be expanded, and any node at that depth is treated as if it
had no successors. It should be noted that, even if such a depth bound
is used, the solution path found is not necessarily the shortest one.
The following algorithm describes depth-first search with a depth bound:
1. Put the start node on a list, OPEN, of unexpanded nodes. If it
is a goal node, a solution has been found.
2. If OPEN is empty, no solution exists.
3. Move the first node, n, on OPEN to a list, CLOSED, of ex-
panded nodes.
4. If the depth of node n is equal to the maximum depth, go
to (2).
50
Search
n
5. Expand node n. If it has no successors, go to (2).
6. Place all successors of node n at the beginning of OPEN.
7. If any of the successors of node n is a goal node, a solution has
been found. Otherwise go to (2).
As an example, consider the following simple problem: A pawn is
required to move through the matrix in Figure Cl-3 from top to
bottom. The pawn may enter the matrix anywhere in the top row.
From a square containing 0, the pawn must move downward if the
square below contains 0; otherwise, it must move horizontally. From a
square containing 1, no further moves are possible. The goal is to
reach a square containing 0 in the bottom row. A depth bound of 5 is
assumed.
3 4
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
Figure Cl-3. A sample problem for depth-first search.
The search tree generated by the depth-first algorithm is shown in
Figure Cl-4. At node S0, the pawn has not yet entered the grid. At
the other nodes, its position is given as a pair of the form (row
number, column number). The numbering of nodes gives the order in
which they are moved out of the OPEN list of unexpanded nodes.
When the algorithm terminates, the OPEN list contains «917 (a goal
node) and S18; all other nodes are on the expanded list. The solution
found, which is one move longer than the minimum, calls for the pawn
to enter at (1, 3), move one square right, and then go straight down to
(4, 4). Had no depth bound been used, the tree would have been one
level deeper, since node 512 has a successor, (4, 1). Since the algorithm
treats the state space as a tree, not as a general graph, it does not
discover that the distinct nodes S2 and 59 in fact represent the same
state. Consequently, the search downward from S$ duplicates the work
already done from 52.
CI
Blind State-space Search
51
so
S]
(1,1)
S2
(1,2)
S3
(2,2)
S8
(1,3)
S9 S14
(1,2) (1,4)
S4 S7 S10 S15
(2,1) (2,3) (2,2) (2,4)
S5
(3,1)
S6
(4,1)
Sll S13 S16
(2,1) (2,3) (3,4)
S12
(3,1)
S17
(4,4)
S18
(1,4)
Figure Cl-4. The search tree for Figure Cl-3.
Bidirectional Search
Each of the algorithms given above uses forward reasoning, working
from the start node of a state-space tree towards a goal node and using
operators that each map a node i to a successor node j. In some cases,
the search could equally well use backward reasoning, moving from the
goal state to the start state. An example of this is the 8-puzzle, in
which (a) the goal state can be fully described in advance and (b) it is
easy to define inverse operators — each applicable operator mapping
node j to a predecessor node i Since backward search through a tree
is trivial, it is assumed that node j can have more than one
predecessor — that is, several inverse operators may apply at node j.
For example, in the pawn-maze problem, Figure Cl-4, position (1, 2) —
at nodes S2 and Sg — would have both nodes S0 and Ss as predecessors.
Forward and backward reasoning can be combined into a technique
called bidirectional search. The idea is to replace a single search graph,
which is likely to grow exponentially, by two smaller graphs — one
starting from the initial state and one starting from the goal. The
search terminates (roughly) when the two graphs intersect.
A bidirectional version of the uniform-cost algorithm, guaranteed to
52 Search II
find the shortest solution path through a general state-space graph,
is due to Pohl (1969, 1971). Empirical data for randomly generated
graphs showed that Pohl's algorithm expanded only about one-fourth as
many nodes as unidirectional search.
An algorithm for blind bidirectional search is given in detail below.
A related algorithm for heuristic bidirectional search is discussed in
Article n.C3d.
The following notation is used in the algorithm:
1. The start node is s; the goal or terminal node, t.
2. S-OPEN and S-CLOSED are lists of unexpanded and expanded
nodes, respectively, generated from the start node.
3. T-OPEN and T-CLOSED are lists of unexpanded and expanded
nodes, respectively, generated from the terminal node.
4. The cost associated with the arc from node n to node x is de-
noted c(n, x).
5. For a node x generated from the start node, gs(x) measures the
shortest path found so far from s to x.
6. For a node x generated from the terminal node, gi(x) measures
the shortest path found so far from x to t.
The algorithm is as follows:
1. Put 5 in S-CLOSED, with gs(s) = 0. Expand node s, creating a
node for each of its successors. For each successor node x,
place x on S-OPEN, attach a pointer back to 5, and set gs(x) to
c(s, x). Correspondingly, put t in T-CLOSED, with gt(t) = 0.
Expand node t, creating a node for each of its predecessors. For
each predecessor node x, place x on T-OPEN, attach a pointer
forward to t, and set gt (x) = c (x, t).
2. Decide whether to go forward or backward. If forward, go
to (3); if backward, to (4). (One way to implement this step is
to alternate between forward and backward moves. Another
way, which Pohl found to give better performance, is to move
backward if T-OPEN contains fewer nodes than S-OPEN; other-
wise, forward. It is assumed that a solution path does exist, so
the chosen list will be nonempty.)
3. Select from S-OPEN a node n at which gs(ri) is minimum. Move
n to S-CLOSED. If n is also in T-CLOSED, go to (5). Other-
wise, for each successor x of n:
a. If x is on neither S-OPEN nor S-CLOSED, then add it to
S-OPEN. Attach a pointer back to n and the path cost
gs(x) = gs(n) + c (n, x).
b. If x was already on S-OPEN, a shorter path to x may have
just been found. Compare the previous path cost, gs{x), with
CI Blind State-space Search 53
the new cost gs(n) -\- c(n, x). If the latter is smaller, set
gs(x) to the new path cost and point x back to n instead of
its predecessor on the longer path.
c. If x was already on S-CLOSED, do nothing; although a new
path to x has been found, its cost must be at least as great
as the cost of the path already known. (For further con-
sideration of this point, see Article n.C3b.)
Return to (2).
4. Select from T-OPEN a node n at which gt(n) is minimum. Move
n to T-CLOSED. If n is also in S-CLOSED, go to (5). Other-
wise, for each predecessor x of n:
a. If x is on neither T-OPEN nor T-CLOSED, then add it to
T-OPEN. Attach a pointer forward to n and the path cost
gi(x) = gt(n) + c (x, n).
b. If x was already on T-OPEN and a shorter path from x to t
has just been found, reduce the stored value of gi{x) and
point x forward to n (instead of to its successor on the
longer path).
c. If x was already on T-CLOSED, do nothing.
Return to (2).
5. Consider the set of nodes that are in both S-CLOSED and
either T-CLOSED or T-OPEN. Select from this set a node n
for which gs(n) -\- gi{n) is minimum and exit with the solution
path obtained by tracing the path from n back to s and
forward to t.
References
See Nilsson (1971) and Pohl (1969, 1971).
C2. Blind AND/OR Graph Search
A problem to be solved using AND/OR-graph search can be defined
by specifying a start node (representing an initial goal or problem
description), a set of terminal nodes (descriptions of primitive problems),
and a set of operators for reducing goals to subgoals. The rules for
constructing an AND/OR graph, together with the use of such graphs
for problem-reduction representation, were discussed in Article n.B2. To
recapitulate briefly, each possible application of an operator at a node n
(see Fig. C2-1) is represented by a directed arc from node n to a
successor node; these successor nodes are called OR nodes, since only
one of the operator applications will ever be needed to solve the
problem that node n represents. Each OR node successor of node n
represents a set of subproblems. If the set of subproblems represented
by an OR node m has more than one element, then there are directed
arcs from m to nodes representing the individual elements of the set.
These successors are called AND nodes, because all of the elements of
the set must be solved in order to solve the subproblem set represented
by node ra. To distinguish AND nodes visually from OR nodes, the arcs
in the graph from ra to its AND successors are joined by a horizontal
line.
OR nodes
AND nodes
Figure C2-1. AND/OR graph notation.
Formally, a node or problem is said to be solved if one of the
following conditions holds:
1. The node is in the set of terminal nodes (primitive problems).
(In this case, the node has no successors.)
2. The node has AND nodes as successors and all these successors
are solved.
3. The node has OR nodes as successors and any one of these
successors is solved.
C2 Blind AND/OR Graph Search 55
A solution to the original problem is given by a subgraph of the
AND/OR graph sufficient to show that the start node is solved. In
Figure C2-2, for example, assuming that nodes 5, 6, 8, 9, 10, and
11 are all terminal, there are three possible solution subgraphs:
{1, 2, 4, 8, 9}, {1, 3, 5, 6, 7, 10}, and {1, 3, 5, 6, 7, 11}.
Figure C2-2. An AND/OR graph.
A node is said to be unsolvable if one of the following conditions is
true:
1. The node has no successors and is not in the set of terminal
nodes. That is, it is a nonprimitive problem to which no
operator can be applied.
2. The node has AND nodes as successors and one or more of
these successors are unsolvable.
3. The node has OR nodes as successors and all of these successors
are unsolvable.
Again in Figure C2-2, node 1 would be unsolvable if all nodes in any of
the following sets were unsolvable: {8, 5}, {8, 6}, {8, 10, 11}, {9, 5},
{9, 6}, {9, 10, 11}.
Two algorithms for the blind search of an AND/ OR tree (breadth-
first and depth-first) are given at the end of this article. They have
several features in common with blind state- space search algorithms
(Article n.Ci): The operation of expanding a node is again present, and
again the algorithms differ mainly in the order in which nodes are
considered for expansion. It should be noted that the expansion of a
node may differ slightly from the case of state- space search. In
Figure C2-2, for example, two operators apply at node 1: One reduces
it to a single equivalent problem (node 2) and the other to a set
(node 3) of three subproblems (nodes 5, 6, and 7). In this case,
nodes 2, 3, 5, 6, and 7 would all be generated in expanding node 1,
56 Search II
and each new node would be given a pointer to its immediate pre-
decessor, but only nodes 2, 5, 6, and 7 would be placed on the list of
unexpanded nodes.
In contrast to the state- space search algorithms, most of which use
forward reasoning, the search algorithms below reason backward from
the initial goal. The algorithms described here make two important
simplifying assumptions: (a) The search space is an AND/OR tree and
not a general graph, and (b) when a problem is transformed to a set of
subproblems, the subproblems may be solved in any order. The first
assumption implies that identical subproblems may arise at different
nodes of the search tree and will need to be solved anew whenever one
of them is encountered. Modifications needed for searching a general
AND/ OR graph are discussed in Nilsson (1971). A way of eliminating
the second assumption, that all subproblems are independent, is dis-
cussed in Article n.C4.
Breadth-first Search of an AND/ OR Tree
The following algorithm describes the breadth-first search of an
AND/OR tree. If a solution tree exists, this algorithm finds a solution
tree of minimum depth, provided that intermediate OR nodes are ig-
nored in calculating the depth of the tree. The start node is assumed
not to be a terminal node.
1. Put the start node on a list, OPEN, of unexpanded nodes.
2. Remove the first node, n, from OPEN.
3. Expand node n — generating all its immediate successors and, for
each successor m, if m represents a set of more than one sub-
problem, generating successors of m corresponding to the indi-
vidual subproblems. Attach, to each newly generated node, a
pointer back to its immediate predecessor. Place all the new
nodes that do not yet have descendants at the end of OPEN.
4. If no successors were generated in (3), then
a. Label node n unsolvable.
b. If the unsolvability of n makes any of its ancestors unsolv-
able, label these ancestors unsolvable.
c. If the start node is labeled unsolvable, exit with failure.
d. Remove from OPEN any nodes with an unsolvable ancestor.
5. Otherwise, if any terminal nodes were generated in (3), then
a. Label these terminal nodes solved.
b. If the solution of these terminal nodes makes any of their
ancestors solved, label these ancestors solved.
C2 Blind AND/OR Graph Search 57
c. If the start node is labeled solved, exit with success.
d. Remove from OPEN any nodes that are labeled solved or
that have a solved ancestor.
6. Go to (2).
Depth- first Search of an AND/ OR Tree
A bounded depth-first search can be obtained by changing only
step 3 of the breadth-first algorithm. The revised step 3 is as follows:
3'. // the depth of n is less than the depth bound, then:
Expand node n — generating all its immediate successors and, for
each successor m, if m represents a set of more than one sub-
problem, generating successors of m corresponding to the indi-
vidual subproblems. Attach, to each newly generated node, a
pointer back to its immediate predecessor. Place all the new
nodes that do not yet have descendants at the beginning of
OPEN.
The depth-first search will find a solution tree, provided one exists
within the depth bound. As with breadth-first search, the notion of
depth is more meaningful if intermediate OR nodes are not counted.
For this purpose one might add the following to the end of step 3':
For each node x added to OPEN, set the depth of x to be the
depth of node n, plus 1.
Given that the start node has depth 0, the depth of any node x will
then be the length of the operator sequence that must be applied to
reach node x from the start node.
References
See Nilsson (1971).
C3. Heuristic State-space Search
C3a. Basic Concepts in Heuristic Search
In the blind search of a state- space (Article n.Ci) or an AND/ OR
graph (Article n.C2), the number of nodes expanded before reaching
a solution is likely to be prohibitively large. Because the order of
expanding the nodes is purely arbitrary and does not use any properties
of the problem being solved, one usually runs out of space or time (or
both) in any but the simplest problems. This result is a manifestation
of the combinatorial explosion.
Information about the particular problem domain can often be
brought to bear to help reduce the search. In this section, it is
assumed that the definitions of initial states, operators, and goal states
all are fixed, thus determining a search space; the question, then, is how
to search the given space efficiently. The techniques for doing so
usually require additional information about the properties of the specific
problem domain beyond that which is built into the state and operator
definitions. Information of this sort will be called heuristic information,
and a search method using it (whether or not the method is foolproof)
will be called a heuristic search method (Nilsson, 1971).
The Importance of Heuristic Search Theory
Heuristic search methods were employed by nearly all early problem-
solving programs. Most of these programs, though, were written to
solve problems from a single domain, and the domain- specific infor-
mation they used was closely intertwined with the techniques for using
it. Thus, the heuristic techniques themselves were not easily accessible
for study and adaptation to new problems, and there was some like-
lihood that substantially similar techniques would have to be reinvent-
ed repeatedly. Consequently, an interest arose in developing generalized
heuristic search algorithms, whose properties could be studied inde-
pendently of the particular programs that might use them. (See Newell
and Ernst, 1965; Feigenbaum, 1969; Sandewall, 1971.) This task, in turn,
required a way of describing problems that generalized across many
different domains. Such generalized problem formulations have been
discussed in Section n.B, in an approach generally following Nilsson
(1971). Given a generalized problem representation, the most basic
heuristic- search techniques can be studied as variations on blind search
methods for the same type of problem representation.
C3a Basic Concepts in Heuristic Search 59
The current state of heuristic search theory has been diversely
judged. One of the best known students of the subject has remarked,
"The problem of efficiently searching a graph has essentially been solved
and thus no longer occupies AI researchers" (Nilsson, 1974, p. 787).
Other work makes it clear, however, that the theory is far from com-
plete (e.g., Simon and Kadane, 1975; Gaschnig, 1977). Its kinship with
complexity theory now tends to be emphasized (see Pohl, 1977).
Ways of Using Heuristic Information
The points at which heuristic information can be applied in a search
include —
1. deciding which node to expand next, instead of doing the ex-
pansions in a strictly breadth-first or depth-first order;
2. in the course of expanding a node, deciding which successor or
successors to generate — instead of blindly generating all possible
successors at one time; and
3. deciding that certain nodes should be discarded, or pruned, from
the search tree.
A state- space search algorithm is presented below that uses heuristic
information only at the first of these points, deciding which node to
expand next, on the assumption that nodes are to be expanded fully or
not at all. The general idea is always to expand the node that seems
"most promising." A search that implements this idea is called an
ordered search or best-first search. Ordered search has been the subject
of considerable theoretical study, and several variations on the basic
algorithm below are reviewed in Articles n.C3b through n.C3d (on ordered
state- space search) and Article n.C4 (on ordered AND/ OR graph search).
The other two uses of heuristic information can be discussed more
briefly. Decisions of the second kind — determining which successors to
generate — are often decisions of operator selection, determining which
operator to apply next to a given node. A node to which some but not
all applicable operators have been applied is said to have been partially
developed or partially expanded. The use of heuristic information to
develop nodes partially, reserving the possibility of fuller expansion at a
later point in the search, has been investigated by Michie (1967) and by
Michie and Ross (1970). Other applications of the idea of limiting the
successors of a given node occur in game-playing programs (see Article
n.C5c). Another important variant of the idea is means-ends analysis,
which, instead of deciding on an applicable operator, chooses an operator
most likely to advance the search whether or not it is immediately
applicable. The problem of making the operator applicable, if necessary,
is addressed secondarily. (See Articles n.D2 and n.D5.)
60 Search II
The third use of heuristic information, for pruning, amounts to
deciding that some nodes should never be expanded. In some cases, it
can be definitely determined that a node is not part of a solution, and
the node may then be safely discarded, or pruned, from the search tree.
In other cases, pruning may be desirable even though the nodes pruned
cannot be guaranteed inessential to a solution. One reason, in con-
junction with a best-first search, is simply to save the space that would
be required to retain a large number of apparently unpromising nodes
on a list of candidates for possible future expansion. For examples, see
Doran (1967) and Harris's bandwidth search (Article n.C3c). Another
reason for pruning is as a restriction on a search that is otherwise blind.
For example, a breadth-first search could be modified to choose between
expansion and pruning for each node it considers. This pruning to
control the search is also very important for problems in which all
solutions, rather than just a single solution, must be found: Finding all
solutions implies an exhaustive exploration of all unpruned parts of the
search space. An example of a search for all solutions is the DENDRAL
program (see Article VH.C2, in Vol. n).
Ordered State-space Search
An ordered or best-first search, as mentioned above, is one that
always selects the most promising node as the next node to expand.
The choice is ordinarily assumed to be global, that is, to operate on the
set of all nodes generated but not yet expanded. A local choice would
also be possible, however; for example, an ordered depth-first search
would be one that always expands the most promising successor of the
node last expanded.
The promise of a node can be defined in various ways. One way,
in a state-space problem, is to estimate its distance from a goal node;
another is to assume that the solution path includes the node being
evaluated and estimate the length or difficulty of the entire path. Along
a different dimension, the evaluation may consider only certain pre-
determined features of the node in question, or it may determine the
relevant features by comparing the given node with the goal. In all
these cases, the measure by which the promise of a node is estimated is
called an evaluation function.
A basic algorithm for ordered state- space search is given by Nilsson
(1971). The evaluation function is /*; it is defined so that the more
promising a node is, the smaller is the value of /*. The node selected
for expansion is one at which /* is minimum. The state space is
assumed to be a general graph.
C3a Basic Concepts in Heuristic Search 61
The algorithm is as follows:
1. Put the start node 5 on a list, called OPEN, of unexpanded
nodes. Calculate f*(s) and associate its value with node s.
2. If OPEN is empty, exit with failure; no solution exists.
3. Select from OPEN a node i at which /* is minimum. If several
nodes qualify, choose a goal node if there is one, and otherwise
choose among them arbitrarily.
4. Remove node i from OPEN and place it on a list, called
CLOSED, of expanded nodes.
5. If i is a goal node, exit with success; a solution has been found.
6. Expand node i, creating nodes for all its successors. For every
successor node j of i:
a. Calculate f*(j).
b. If 7* is neither in list OPEN nor in list CLOSED, then add it
to OPEN, with its /* value. Attach a pointer from j back
to its predecessor i (in order to trace back a solution path
once a goal node is found).
c. If j was already on either OPEN or CLOSED, compare the /*
value just calculated for j with the value previously
associated with the node. If the new value is lower, then
i. Substitute it for the old value,
ii. Point j back to i instead of to its previously found
predecessor,
hi. If node j was on the CLOSED list, move it back to
OPEN.
7. Go to (2).
Step 6c is necessary for general graphs, in which a node can have
more than one predecessor. The predecessor yielding the smaller value
°f f*{j) is chosen. For trees, in which a node has at most one pre-
decessor, step 6c can be ignored. Note that even if the search space is
a general graph, the subgraph that is made explicit is always a tree,
since node j never records more than one predecessor at a time.
Breadth-first, uniform-cost, and depth-first search (Article n.Ci) are
all special cases of the ordered- search technique. For breadth-first search,
we choose /*(*) to be the depth of node i. For uniform-cost search,
f*(i) is the cost of the path from the start node to node i. A depth-
first search (without a depth bound) can be obtained by taking f*(i) to
be the negative of the depth of the node.
The purpose of ordered search, of course, is to reduce the number of
nodes expanded as compared to blind-search algorithms. Its effectiveness
62 Search II
in doing this depends directly on the choice of /* which should dis-
criminate sharply between promising and unpromising nodes. If the
discrimination is inaccurate, however, the ordered search may miss an
optimal solution or all solutions. If no exact measure of promise is
available, therefore, the choice of /* involves a trade-off between time
and space, on the one hand, and the guarantee of an optimal solution,
or any solution, on the other.
Problem Types and the Choice of f*
The measure of a node's promise — and consequently the appro-
priateness of a particular evaluation function — depends on the problem
at hand. Several cases can be distinguished by the type of solution
they require. In one, it is assumed that the state space contains mul-
tiple solution paths with different costs; the problem is to find the
optimal (i.e., minimum cost) solution. This first case is well understood;
see Article n.C3b on the A* algorithm.
The second situation is similar to the first but with an added
condition: The problem is hard enough that, if it is treated as an
instance of the first case, the search will probably exceed bounds of
time and space before finding a solution. The key questions for the
second case are (a) how to find good (but not optimal) solutions with
reasonable amounts of search effort and (b) how to bound both the
search effort and the extent to which the solution produced is less than
optimal.
A third kind of problem is one in which there is no concern for the
optimality of the solution; perhaps only one solution exists, or any
solution is as good as any other. The question in this third case is how
to minimize the search effort — instead of, as in the second case, trying
to minimize some combination of search effort and solution cost.
An example of the third case comes from theorem proving, where
one may well be satisfied with the most easily found proof, however
inelegant. A clear example of the second case is the traveling- salesman
problem, in which finding some circuit through a set of cities is trivial,
and the difficulty, which is very great, is entirely in finding a shortest
or close-to-shortest path. Most treatments, however, do not clearly dis-
tinguish between the two cases. A popular test problem, the 8-puzzle,
can be treated as being in either class. For further discussion of the
second and third cases, see Article n.C3c.
C3a Basic Concepts in Heuristic Search 63
References
See Doran (1967), Feigenbaum (1969), Gaschnig (1977), Michie
(1967), Michie and Ross (1970), Newell and Ernst (1965), Newell and
Simon (1972), Nilsson (1971, 1974), Pohl (1977), Sandewall (1971), and
Simon and Kadane (1975).
C3b. A* — Optimal Search for an Optimal Solution
The A* algorithm, described by Hart, Nilsson, and Raphael (1968),
addresses the problem of finding a minimal-cost path joining the start
node and a goal node in a state- space graph. This problem subsumes
the problem of finding the path between such nodes containing the
smallest number of arcs. In the latter problem, each arc (representing
the application of an operator) has cost 1; in the minimal-cost-path
problem, the costs associated with arcs can be arbitrary. Historically,
the predecessors of A* include Dijkstra's algorithm (1959) and Moore's
algorithm (1959). A class of algorithms similar to A* is used in oper-
ations research under the name of branch- and-bound algorithms (see Hall,
1971; Hillier and Lieberman, 1974; Lawler and Wood, 1966; Reingold,
Nievergelt, and Deo, 1977).
The algorithm used by A* is an ordered state-space search (see
Article n.C3a). Its distinctive feature is its definition of the evaluation
function, f*. As in the usual ordered search, the node chosen for ex-
pansion is always one at which /* is minimum.
Since /* evaluates nodes in light of the need to find a minimal-cost
solution, it considers the value of each node n as having two com-
ponents: the cost of reaching n from the start node and the cost of
reaching a goal from node n. Accordingly, /* is defined by
f*(n) = g*(n) + h*{n) ,
where g* estimates the minimum cost of a path from the start node to
node n, and h* estimates the minimum cost from node n to a goal.
The value f*(n) thus estimates the minimal cost of a solution path
passing through node n. The actual costs, which /* g*, and h* only
estimate, are denoted by /, g, and h, respectively. It is assumed that
all arc costs are positive.
The function g*, applied to a node n being considered for expansion,
is calculated as the actual cost from the start node 5 to n along the
cheapest path found so far by the algorithm. If the state space is a
tree, then g* gives a perfect estimate, since only one path from s to n
exists. In a general state-space graph, g* can err only in the direction
of overestimating the minimal cost; its value is adjusted downward if a
shorter path to n is found. Even in a general graph, there are certain
conditions (mentioned below) under which g*(n) can be shown to be a
perfect estimate by the time node n is chosen for expansion.
The function h* \% the carrier of heuristic information and can be
C3b A* — Optimal Search for an Optimal Solution 65
defined in any way appropriate to the problem domain. For the
interesting properties of the A* algorithm to hold, however, h* should
be nonnegative, and it should never overestimate the cost of reaching
a goal node from the node being evaluated. That is, for any such
node n, it should always hold that h*(n) is less than or equal to h(n),
the actual cost of an optimal path from n to a goal node. This last
condition is called the admissibility condition.
Admissibility and Optimality of A*
It can be shown that if h* satisfies the admissibility condition and
if, in addition, all arc costs are positive and can be bounded from below
by a positive number, then A* is guaranteed to find a solution path of
minimal cost if any solution path exists. This property is called the
property of admissibility.
Although the admissibility condition requires h* to be a lower bound
on h, it is to be expected that the more nearly h* approximates h, the
better the algorithm will perform. If h* were identically equal to h, an
optimal solution path would be found without ever expanding a node off
the path (assuming only one optimal solution exists). If h* is identically
zero, A* reduces to the blind uniform-cost algorithm (Article n.Ci).
Two otherwise similar algorithms, say, A1 and A2, can be compared
with respect to their choices of the h* function, say, \* and h^*.
Algorithm Ax is said to be more informed than A2 if, whenever a
node n (other than a goal node) is evaluated,
K*{n) > VM •
On this basis an optimality result for A* can be stated: If A and A*
are admissible algorithms such that A* is more informed than A, then
A* never expands a node that is not also expanded by A. A proof
(correcting the proof given in Nilsson, 1971) appears in Gelperin (1977).
Optimality and Heuristic Power
The sense in which A* yields an optimal search has to do only with
the number of nodes it expands in the course of finding a minimal- cost
solution. But there are other relevant considerations. First, the difficulty
of computing h* also affects the total computational effort. Second, it
may be less important to find a solution whose cost is absolutely min-
imum than to find a solution of reasonable cost within a search of mod-
erate length. In such a case, one might prefer an h* that evaluates
nodes more accurately in most cases but sometimes overestimates the
distance to a goal, thus yielding an inadmissible algorithm. (See Article
66 Search II
n.C3c.) The choice of h* and the resulting heuristic power of the algo-
rithm depend on a compromise among these considerations.
A final question one might consider is the number of node ex-
pansions, as opposed to the number of distinct nodes expanded by A*.
The two totals will be the same provided that whenever a node n is
expanded (moved to the CLOSED list), an optimal path to n has
already been found. This condition is always satisfied in a state-space
tree, where g*(n) = g(n) necessarily. It will also be satisfied in a
general state-space graph if a condition called the consistency assumption
holds (see Hart, Nilsson, and Raphael, 1968). The general idea of the
assumption is that a form of the triangle inequality holds throughout
the search space. Specifically, the assumption is that for any nodes m
and n, the estimated distance h*(m) from m to a goal should always be
less than or equal to the actual distance from m to n plus the
estimated remaining distance, h*(n), from n to a goal. For an h* not
satisfying the consistency assumption on a general state-space graph,
Martelli (1977) has shown that A* is not optimal with respect to the
number of expansions and has given an algorithm that runs more
efficiently under these circumstances.
References
See Dijkstra (1959), Gelperin (1977), Hall (1971), Hart, Nilsson, and
Raphael (1968, 1972), Hillier and Lieberman (1974), Lawler and Wood
(1966), Martelli (1977), Moore (1959), and Reingold, Nievergelt, and Deo
(1977).
C3c. Relaxing the Optimality Requirement
The A* algorithm (Article n.C3b) is an ordered state-space search
using the evaluation function f* = g* + h*. If the appropriate con-
ditions are met, including most importantly the admissibility condition
that the estimate h*{n) is always less than or equal to h(n), then A* is
guaranteed to find an optimal solution path if one exists. Again under
suitable conditions, the performance of A* is optimal in comparison with
other similarly defined admissible algorithms. Still, several questions
remain:
1. One may be more concerned with minimizing search effort than
with minimizing solution cost. Is /* = g* -\- h* an appropriate
evaluation function in this case?
2. Even if solution cost is important, the combinatorics of the
problem may be such that an admissible A* cannot run to
termination. Can speed be gained at the cost of a bounded
decrease in solution quality?
3. It may be hard to find a good heuristic function h* that
satisfies the admissibility condition; with a poor but admissible
heuristic function, A* deteriorates into blind search. How is the
search affected by an inadmissible heuristic function?
Minimizing Search Effort
An approach to the first question can be stated as follows. The
reason for including g* in the evaluation function is to add a breadth-
first component to the search; without g*, the evaluation function would
estimate, at any node n, the remaining distance to a goal and would
ignore the distance already covered in reaching n. If the object is to
minimize search effort instead of solution cost, one might conclude that
g* should be omitted from the evaluation function. An early heuristic
search algorithm that did just this was Doran and Michie's Graph
Traverser (Doran and Michie, 1966; Doran, 1967); the evaluation
function used was of the form /* = h*, and the object was to minimize
total search effort in finding solutions to the 8-puzzle and other prob-
lems. A generalization covering the Graph Traverser algorithm, A*, and
others has been defined by Pohl (1969, 1970a, 1970b) as the Heuristic
Path Algorithm (HPA). This algorithm gives an ordered state-space
search with an evaluation function of the form
/*=(!_ w)g* + wh* ,
68 Search II
where w is a constant in [0, 1] giving the relative importance to be
attached to g and h. Choosing w = 1 gives the Graph Traverser algo-
rithm, w = 0 gives breadth-first search, and w = .5 is equivalent to
the A* function f* = g* + h*.
Pohl's results concerning HPA indicate that, at least in special cases,
omitting g* from the evaluation function is a mistake. One case is that
in which h* is the most accurate heuristic function possible: If h*(n)
= h(ri) at every node n, the evaluation function f* = h* still expands
no fewer nodes than /* = g* + h*- The other case assumes a sim-
plified state space, whose graph is an infinite ra-ary tree, and assumes
that the error in /i*— which may underestimate or overestimate h — is
bounded by a nonnegative integer e. In this situation, it is shown that
the maximum number of nodes expanded with f* = h* is greater than
the maximum number expanded with f* = g* + h*, and that the dif-
ference between the maxima is exponential in the error bound e. This
analysis by Pohl is one of the earliest applications of oracle or adversary
analysis for discovering worst-case algorithmic efficiency. As such, it is
an important precursor to work on NP (nondeterministic polynomial-
time) complete problems and their attempted solution by heuristics.
(For a general introduction to NP-completeness, see Aho, Hopcroft, and
Ullman, 1974.)
The two functions f* = h* and /* = g* + h* have not been
analyzed with respect to their average- case, as opposed to worst- case,
behavior. Pohl's empirical results suggest that ordered search may
typically expand the fewest nodes, provided the h* function is fairly
good, if g* is included but given less weight than h* — that is, with w
greater than .5 but less than 1. These results were obtained for the
15-puzzle, a task exactly like the 8-puzzle except that it uses 15 tiles in
a 4 X 4 array.
For problems that differ from the 15-puzzle, in that some states lead
to dead ends rather than only to longer solutions, a somewhat different
approach has been taken recently by Simon and Kadane (1975). Whereas
the evaluation functions /* = g* + h* and f* = h* are based on the
estimated solution cost at a given node, Simon and Kadane propose that
the function should also take explicit account of the probability that the
node is in fact on a solution path. With such a function, an expected
long search with high probability of success could readily rate just as
favorably as one that is potentially shorter but that has a higher chance
of failing.
C3c Relaxing the Optimality Requirement 69
Solution Quality and Heuristic Error
The second question, of speed versus solution quality, has been
studied by Pohl (1973, 1977) and Harris (1973, 1974). Harris's work
concerns the third question (inadmissible heuristic functions) as well, as
do Pohl's results, which were summarized above. Both Harris and Pohl
consider the traveling -salesman problem, which is NP-complete (Karp,
1972).
Pohl's approach is a further generalization of the HPA evaluation
function: Now f*(ri) = g*{n) + w(ri)h*(ri). That is, the relative weight
w to be attached to g* and h* is no longer constant; the function w(n),
which may be greater than or equal to 1, is defined to vary with the
depth of node n. This approach is called dynamic weighting. With a
definition of w that weights h* less heavily as the search goes deeper,
and with the assumption that /i* is a lower bound on h, Pohl shows
that HPA will find a solution to the traveling- salesman problem whose
cost is bounded by the ratio
cost of tour found
cost of optimal solution
where e is a constant in [0, 1), which appears in the definition of w.
Dynamic weighting was tested on an instance of the traveling-
salesman problem, known as the Croes problem, which involves 20 cities
and has a known optimal- solution cost of 246. An admissible A* —
which produces an optimal solution if it produces any — had still not
terminated after expanding 500 nodes. With dynamic weighting,
however, together with an appropriate choice of e and the same h*
function, a solution with cost 260 was found by expanding only 53
nodes.
Harris's approach, called bandwidth search, is somewhat different
from Pohl's. It assumes that no good h* function satisfying the admis-
sibility condition is available. In its place, he introduces the bandwidth
condition, which requires that for all nongoal nodes n,
(1) h*{n) < h{n) + e
and
(2) h(n) - d < h*{n) .
It is assumed that h* satisfies the consistency assumption (see Article
n.C3b).
70 Search II
With respect to the first part of the condition, it can be shown that
if h* never overestimates the distance to a goal by more than e, the
cost of a solution found by A* will not exceed the cost of an optimal
solution by more than e. With such an h*, the algorithm is said to be
e- admissible; and the goal it finds, e- optimal.
Once the bandwidth search finds some solution, a further application
of condition (1) may show that the cost of the solution found is in fact
closer than e to an optimal solution. This is possible because (a) the
cost of the solution found is known and (b) a lower bound on the cost
of every other solution is the minimum, over all nodes n remaining on
the OPEN list, of f*(n) - e. If the difference between these two quan-
tities is too big, the search can be continued until it finds a solution
that is acceptably close to the optimum.
The second part of the bandwidth condition, condition (2), can be
used to save storage space by dropping nodes from the OPEN list,
without any risk of dropping a node that is in fact on an optimal path
to a goal. Let node q be a node that, having a minimum value of /*
has been selected for expansion. Then any node m may safely be
dropped from OPEN if f*{m) is hopelessly big compared to f*{q).
Specifically, it can be shown that all nodes m can be dropped if there is
a node q such that
f*(m) - (e + d) > f\q) .
Harris notes that it may be difficult to find a heuristic function h*
that satisfies both parts of the bandwidth condition. One may instead
define two heuristic functions, one to order the search and one to
determine which nodes can be dropped. Such functions, say, h±* and
Iiq*, should then satisfy
(1') h*in) < h(n) + e
and
(2') h(n) - d < VM •
Using two such heuristic functions, Harris tested the bandwidth
search on several instances of the traveling- salesman problem, including
the 20-city Croes problem mentioned above. Harris's results, including a
comparison with A* using an admissible heuristic function, are sum-
marized in Figure C3-1. The OPEN list was limited to 500 nodes.
C3c
Relaxing the Optimality Requirement
71
BANDWIDTH
SEARCH
ADMISSIBLE SEARCH
No. of
Qua 1 i ty
Nodes
Qua 1 i ty Nodes
cities
of solution
expanded
of solution expanded
5— opti ma I
opti ma I
14
opt i ma I
18
11
optima
14
none
500 open nodes
20
4— optima I
42
none
500 open nodes
Figure C3-1. Comparison of bandwidth search and admissible search.
References
See Aho, Hopcroft, and Ullman (1974), Doran (1967), Doran and
Michie (1966), Harris (1973, 1974), Karp (1972), Nilsson (1971), Pohl
(1969, 1970a, 1970b, 1973, 1977), and Simon and Kadane (1975).
C3d. Bidirectional Search
Earlier articles in this chapter described (a) heuristic state-space
search methods using forward reasoning and (b) a blind state-space
search combining forward and backward reasoning into a bidirectional
algorithm. The kinds of problems to which a bidirectional state-space
method applies were considered in Article n.Ci; in general, it must be
possible in these problems to search either forward, from the initial state
toward the goal, or backward, from the goal toward the initial state. A
bidirectional search pursues both lines of reasoning in parallel, growing
two search trees and terminating when they meet. The motivation is
that, in many cases, the number of nodes in a search tree grows ex-
ponentially with its depth; if a solution can be found by using two trees
of half the depth, the search effort should be reduced significantly.
Blind bidirectional search was in fact found to expand far fewer nodes
than its unidirectional counterpart. A natural next question is whether
heuristic bidirectional search can give still greater improvements in
efficiency.
This question was investigated by Pohl (1969, 1971). Whereas his
blind bidirectional algorithm used forward and backward uniform-cost
search, his heuristic algorithm used forward and backward ordered
search. Otherwise, the two algorithms differed mainly in their termi-
nation conditions. In both cases, the termination condition was compli-
cated by the fact that the algorithms were designed to find an optimal
path between the start and goal nodes; they could be simplified if any
path would do.
As evalution functions, Pohl's heuristic bidirectional algorithm used
functions parallel to those of A*. For a node x in the forward search
tree:
gs(x) measured the shortest path found so far from the start
node, s, to x;
hs(x) estimated the minimum remaining distance from x to the
terminal node, t; and
fs(x) = gs(x) -\- hs(x) was the evaluation function.
Similarly, for a node x generated in the backward search:
gi(x) measured the shortest path found so far from x to t;
hi(x) estimated the minimum distance from s to x; and
fi(x) = gi(x) -\- hi{x) was the evaluation function.
C3d Bidirectional Search 73
Constraints were placed on the heuristic functions hs and ht, corre-
sponding to the admissibility condition and the consistency assumption
of A*, in order to guarantee the optimality of the solution.
Pohl's results, in experiments using bidirectional heuristic search on
the 15-puzzle, were disappointing. It was hoped that the search trees
rooted at the start and goal nodes would meet near the middle of the
solution path. In blind search, this had happened necessarily because
both trees were expanded breadth-first. (Recall that uniform- cost search
is a generalization of the breadth-first algorithm.) In the heuristic case,
however, the search in each direction was narrowed. Since each prob-
lem had many alternate solutions, the typical outcome was that both
search trees grew to include nearly complete, but different, solution
paths before intersecting.
Several ideas have been advanced for forcing the trees to meet
earlier while retaining the benefit of heuristic information (Pohl, 1971,
1977; Kowalski, 1972; de Champeaux and Sint, 1977). One that has
been tested is that of de Champeaux and Sint (1977), which redefines
the heuristic functions hs and ht as follows:
Let T-OPEN be the list of unexpanded nodes of the backward
search tree. For a node x in the forward search tree, hs(x) esti-
mates the minimum distance from x to the goal t by way of some
node y in T-OPEN. That is, hs(x) is the minimum, over all
nodes y on T-OPEN, of the estimated distance from x to y plus
gt(y), the length of the shortest known path from y to the goal.
The function ht is defined analogously. The authors reported, for the
same problems Pohl had used, that the algorithm generally produced
shorter solution paths, with fewer nodes expanded, and that the search
graphs now did meet near the middle of the search space. Unfor-
tunately, however, hs and ht were so expensive to compute — since for
each node x to be expanded, its distance must be estimated to every
node y on the opposite OPEN list — that the algorithm still ran much
more slowly than unidirectional heuristic search.
References
See de Champeaux and Sint (1977), Kowalski (1972), and Pohl
(1969, 1971, 1977).
C4. Heuristic Search of an AND/OR Graph
This article returns to the problem of searching an AND/ OR graph,
as opposed to an ordinary state-space graph. The distinction between
the two is the presence of AND nodes, which add conceptual com-
plications to the search problem. Each node of the AND/ OR graph
represents a goal to be achieved. It will be assumed throughout that
reasoning is backward, from an initial goal (the root) toward an
equivalent set of subgoals, all of which have immediate solutions. On
this assumption, an AND/OR graph constitutes (in the terminology of
this chapter) a problem-reduction representation. This identification gives
another way of stating the distinction between problem-reduction and
state- space representations: State- space operators always take exactly
one input and produce exactly one output; a problem-reduction operator
also takes a single input but may produce multiple outputs (see Sec.
n.B).
To put the matter further into perspective, one may also conceive of
searching an AND/ OR graph in the forward direction — from the prim-
itive problems, whose solutions are already known, toward the problem
one actually wishes to solve. Just such a graph search is the one
typically conducted by a resolution theorem-prover, as it brings together
two or more axioms or previous conclusions and applies to them an
operator yielding one new deduction as its result. (See Chap, xn, in
Vol. m.) Forward reasoning in an AND/OR graph, then, would be
distinguished from a state-space search by the presence of multiple-
input, single-output operators. For further discussion, including an
algorithm for bidirectional search of an AND/ OR graph, see Kowalski
(1972); see also Martelli and Montanari (1973).
The search of an AND/ OR graph using backward reasoning raises
numerous problems. Previous articles (n.B2 and n.C2) have considered —
1. what constitutes a solution subgraph of an AND/OR graph, and
2. blind-search algorithms for finding a solution subgraph.
This article considers three additional problems:
3. What might one mean by an optimal solution subgraph?
4. How can heuristic information be brought to bear on the search
for an optimal solution?
C4 Heuristic Search of an AND/OR Graph 75
5. What limitations are there on AND/OR graphs and the asso-
ciated search algorithms as general tools for problem solving?
The Definition of an Optimal Solution
A solution of an AND/OR graph is a subgraph demonstrating that
the start node is solved. As in a state-space search, one may ask for a
solution of minimal cost. The cost of a solution tree can be defined in
either of two ways (Nilsson, 1971):
1. The sum cost of a solution tree is the sum of all arc costs in
the tree.
2. The max cost of a solution tree is the sum of arc costs along
* the most expensive path from the root to a terminal node.
For example, if every arc in the solution tree has cost 1, then the sum
cost is the number of arcs in the tree and the max cost is the depth of
the deepest node.
If the entire search space had been explored, then an optimal solu-
tion tree could be constructed and its cost measured as follows. Let
c(n, m) be the cost of the arc from node n to a successor node m.
Define a function h(ri) by:
1. If n is a terminal node (a primitive problem), then h(n) = 0.
2. If n has OR successors, then h(n) is the minimum, over all its
successors m, of c(n, m) -\- h{m).
3. If n has AND successors and sum costs are used, then h (n) is
the summation, over all successors m, of c (n, m) -J- h (m).
4. If n has AND successors and max costs are used, then h(n) is
the maximum, over all successors m, of c (n, m) -\- h (m).
5. If n is a nonterminal node with no successors, then h (n) is
infinite.
According to this definition, h(ri) is finite if and only if the problem
represented by node n is solvable. For each solvable node n, h(n) gives
the cost of an optimal solution tree for the problem represented by
node n. If s is the start node, then h(s) is the cost of an optimal
solution to the initial problem.
Consider, for example, the AND/ OR tree of Figure C4-1, with arc
costs as indicated. Each node without successors is marked t or u
according to whether it is terminal or unsolvable.
76
Search
n
tl t2 t3
1 1
ul
t4 u2
Figure C4-1. An AND/OR tree.
If sum costs are used, the values of h are as shown in Figure C4-2,
and the optimal solution is the subgraph comprising nodes S, B, D, E,
%, and %. The abbreviation in} denotes infinity.
tl t2 t3 C
h=0 h=0 h=0 h=inf
D
h=4
1 1
ul t4 u2 E
h=inf h=0 h=inf h=2
1
1
t5 t6
h=0 h=0
Figure C4-2. Sum costs.
C4
Heuristic Search of an AND/ OR Graph
77
If max costs are used, then the values of h are as shown in
Figure C4-3, and the optimal solution is the subgraph comprising nodes
S, A, tit ^2, and t%.
ul t4 u2 E
h=inf h=0 h=inf h=l
t5 t6
h=0 h=0
Figure C4-3. Max costs.
Ordered- search Algorithms for an AND/OR Graph
In an ordered state- space search, one may use an evaluation function
f* that, applied to node n, returns the estimated minimum cost of a
solution path passing through node n. The next node expanded is
always one at which f* is minimum — that is, one extends the most
promising potential solution path. The successors of node n are new
nodes, but one could just as well think of them as new potential
solution paths, each differing from a parent (potential solution path) by
the inclusion of one more step.
In the extension of heuristic search to AND/OR graphs, there is no
longer a one-to-one correspondence between the choice of a node to
expand and the choice of a potential solution to be extended. Consider,
for example, the search graph of Figure C4-4.
78 Search II
Figure C4-4. An AND/OR graph containing
two potential solution trees.
Since C and D are OR nodes, an actual solution of node S will con-
tain only one of them. To expand node A is thus to extend two
potential solution trees,
and
Conversely, a decision to extend the potential solution tree on the left
can be carried out by expanding either node A or node C. One must
be clear, therefore, about what kind of object the expansion process is
to apply to. This decision will affect the definition of the evaluation
function.
Nilsson's algorithm. An approach taken by Nilsson (1969, 1971)
selects individual nodes to expand by a two-step process: First, identify
the most promising potential solution tree; then, choose a node within
that tree for expansion. To accomplish the first step, an evaluation
function h* is defined at every node n of the tree that has not been
shown to be unsolvable. This function is an estimate of h(n); that is, it
estimates the cost of an optimal solution to the problem at node n. If n
is known to be a terminal node, then by definition h*(n) = h(n) = 0.
Otherwise, if n has not yet been expanded, then the estimate must be
based on whatever heuristic information is available from the problem
domain. For example, in the search tree of Figure C4-4, h* would
provide heuristic estimates of the cost of solving nodes A, C, and D.
The following rule then permits h* to be computed for each node whose
successors have already been generated (and to be recomputed as the
search tree is expanded):
C4 Heuristic Search of an AND/OR Graph 79
1. If n has OR successors m, then h*(n) is the minimum, over these
successors, of c(n,m) -f- h*(m).
2. If n has AND successors m and sum costs are used, then h*(n) is
the summation, over these successors, of c(n,m) -f- h*(m).
3. If n has AND successors m and max costs are used, then h*(n)
is the maximum, over these successors, of c(n, m) -f- h*(m).
Finally, the most promising potential solution tree, T, is defined in
terms of h*:
1. The start node s is in T.
2. If the search tree (the part of the search space generated so far)
contains a node n and AND successors of n, then all these
successors are in T.
3. If the search tree contains a node n and OR successors m of n,
then one successor m is in T such that c(n, m) -f- h*(m) is min-
imal.
The estimated cost of T is h*(s). If all the other potential solution
trees for the same search tree were constructed, it would be found that
T is one for which h*(s) is minimal. An ordered- search algorithm for
an AND/ OR tree can now be stated as follows:
1. Put the start node, s, on a list, OPEN, of unexpanded nodes.
2. From the search tree constructed so far (initially, just s), com-
pute the most promising potential solution tree T.
3. Select a node n that is on OPEN and in T. Remove node n
from OPEN and place it on a list called CLOSED.
4. If n is a terminal node, then
a. Label node n solved.
b. If the solution of n makes any of its ancestors solved, label
these ancestors solved.
c. If the start node is solved, exit with T as the solution tree.
d. Remove from OPEN any nodes with a solved ancestor.
5. Otherwise, if node n has no successors (i.e., if no operator can
be applied), then
a. Label node n unsolvable.
b. If the unsolvability of n makes any of its ancestors un-
solvable, label all such ancestors unsolvable as well.
c. If the start node is labeled unsolvable, exit with failure.
d. Remove from OPEN any nodes with an unsolvable ancestor.
6. Otherwise, expand node n, generating all its immediate suc-
cessors and, for each successor m representing a set of more
than one subproblem, generating successors of m corresponding
to the individual subproblems. Attach, to each newly generated
80 Search II
node, a pointer back to its immediate predecessor and compute
h* for each newly generated node. Place all the new nodes
that do not yet have descendants on OPEN. Finally, recompute
h*(ri) and h* at each ancestor of n.
7. Go to (2).
The ordered- search algorithm can be shown to be admissible — that
is, it will find a minimum-cost solution tree if any solution exists —
provided that: (a) h*{n) is less than or equal to h(n) for each open
node n and (b) all arc costs are greater than some small positive
number d. The efficiency of the algorithm, however, depends both on
the accuracy of h* and on the implementation of step 3, in which,
having found the most promising potential solution tree to expand, one
must decide to expand a specific node within that tree. If the partial
tree T is in fact part of an optimum solution, the choice is immaterial.
If it is not, however, then the best node to expand would be the one
that will earliest reveal the error.
Chang and Slagle's algorithm. A different approach has been taken
by Chang and Slagle (1971). Here the objects expanded are potential
solution graphs. A tip node in such a graph is any node that does not
yet have successors. To expand the potential solution graph, one ex-
pands all its nonterminal tip nodes at once and then forms all the new
potential solution graphs that result. Each graph is represented on the
OPEN list by the conjunction of its tip nodes, representing a set of
subproblems to which the start node can be reduced.
For example, suppose that expansion of the initial graph, consisting
of only the start node S, shows that S can be reduced to problems A
and B or to problem C. The OPEN list then becomes (A&B, C).
Assume that A&B is selected for expansion, that A can be reduced to D
or E, and that B can be reduced to F or G. There are four new
potential solution trees, and the OPEN list is now (D&F, D&G, E&F,
E8lG, C). The search succeeds when it selects for expansion a potential
solution graph represented by a conjunction of nodes all of which are
terminal.
The Chang and Slagle approach assimilates AND/ OR graph search to
the problem of state-space search. Each distinct conjunction of prob-
lems to be solved corresponds to a distinct state of a state-space graph.
The evaluation function used, /* is also parallel to the function used in
A*: It is defined by /* = g* + h*, where g* measures the cheapest
way found so far to reduce the start node to a given conjunction of
subproblems and h* estimates the minimum remaining cost of a graph
sufficient to solve all those subproblems.
C4 Heuristic Search of an AND/OR Graph 81
The treatment of AND/ OR graph search as an instance of state-
space search has several consequences. One is that the search of a
general AND/ OR graph, as opposed to an AND/ OR tree, now raises no
special problems. Another is that the algorithm can be shown (Chang
and Slagle, 1971), under appropriate conditions, to be not only admis-
sible but also optimal with respect to the number of potential solution
graphs expanded. It does not, however, appear to be optimal (in some
reasonable sense of that term) in comparison with algorithms that ex-
pand only one node at a time (see Kowalski, 1972).
Interdependent Subproblems
The discussion so far has assumed that whenever the start node is
reduced to a conjunction of subproblems, all subproblems can be solved
independently, so that the solution to one has no effect on the solution
to any other. This assumption is frequently unjustified, and much of
Chapter XVI (in Vol. m) explores ways of dealing with interacting
subproblems. Two kinds of examples, given by Levi and Sirovich (1975,
1976) with explicit reference to the AND/OR graph formalism, are:
(a) problems requiring consistent binding of variables and (b) problems
involving the expenditure of scarce resources.
An illustration of the former is the well-known problem of showing
that there exists a fallible Greek, given that the entire search space is
as follows (Fig. C4-5):
Find a fa I I i bl e Greek
Find something fallible Find something Greek
Find something human Socrates is Greek
/ \
Turing Socrates
is human is human
Figure C4-5. An AND/ OR graph requiring consistent binding
of the variable something.
An algorithm like Nilsson's fails here for two reasons. First, it has
no mechanism for discovering that Turing is human and Socrates is
Greek fail to constitute a solution. Second, even if such a mechanism
were introduced, the algorithm has no means for undoing the solution to
82 Search II
a subproblem once it has been solved. If Turing is human is the first
problem found to be primitive, then Find something human and Find
something fallible are marked solved; Socrates is human is removed from
the OPEN list as no longer in need of consideration; and Find something
Greek, using the previous value of something, then becomes unsolvable.
An example of the second type of problem is the following: Show
that John can seduce the actress, given that seducing the actress can be
reduced to getting a car and getting a yacht — and that John has
$5,000, a car costs $5,000, and a yacht costs $5,000. Here, either of the
algorithms given above would wrongly conclude that John can seduce
the actress. A variant of the scarce-resource problem arises in robot
planning tasks (such as those performed by STRIPS, Article n.D5), where
application of an operator representing a robot action solving one sub-
problem may make inapplicable the operator needed to solve another
subproblem.
To handle problems of these kinds, Levi and Sirovich define a
generalized AND/OR graph, which differs most importantly from an
ordinary AND/ OR graph in that reduction operators are permitted to
take two or more nodes as input. For example, let R be a resource
that can be used only once. Then if, in the standard formulation, the
original problem is to accomplish P1 and P2, the problem is reformu-
lated as Pi & P2 & R. Suppose the following reduction operators are
available (where "— ►" means can be reduced to and T denotes a trivial
problem):
1.
S -> Px & P2 & R
2.
Px & R -> T
3.
Pi ^Ps
4.
P2& R -+ P3
5.
P3-+ T
6.
R -> T
Then there is only one solution, which is achieved using operators 1, 3,
4, and 5.
In the ordered search of a generalized AND/OR graph, the objects
placed on the OPEN list are potential solution graphs, not individual
nodes. Expansion of a potential solution graph (PSG) consists of apply-
ing all possible operators to obtain a new set of PSGs, each differing
from its parent by virtue of one additional operator application. If the
same subproblem occurs more than once within a PSG, each occurrence
is represented by a separate node. If the same PSG is generated more
C4 Heuristic Search of an AND/OR Graph 83
than once, later occurrences are simply discarded. Since distinct PSGs
are retained, alternate solutions to the same subproblem are available.
As in the usual ordered search, the object chosen for expansion next
is always one where the evaluation function is minimum. The eval-
uation function is h*; for each PSG, it is computed similarly to the h*
of Nilsson's algorithm. The value of each potential solution graph is
then the evaluation of the start node, h*(s), as computed for that
graph. Both admissibility and optimality — the latter with respect to the
number of PSGs expanded — can be shown.
References
See Chang and Slagle (1971), Kowalski (1972), Levi and Sirovich
(1975, 1976), Martelli and Montanari (1973), and Nilsson (1969, 1971).
C5. Game Tree Search
C5a. Minimax Procedure
The Minimax Formalism
The minimax procedure is a technique for searching game trees (see
Article n.B3). As a first example, Figure C5-1 gives a simple game tree
to which the procedure may be applied. Each node represents a posi-
tion in the game. Nonterminal nodes are labeled with the name of the
player, A or B, who is to move from that position. It is A'% turn, and
the problem is to find his best move from position 1. Exactly three
moves remain in the game. Terminal nodes are marked with their
value to player A by the words "win," "lose," or "draw."
l
A
3
B
10 11 12 13 14 15 16 17
win win lose win lose lose draw draw
18 19 20 21
win draw lose draw
Figure C5-1. A game tree from the standpoint of
player A, who is to move next.
According to the minimax technique, player A should move to
whichever one of positions 2 or 3 has the greater value to him. Given
the values of the terminal positions, the value of a nonterminal position
is computed, by backing up from the terminals, as follows:
C5a
Minimax Procedure
85
(1)
The value to player A of a node with OR successors (a node
from which A chooses the next move) is the maximum value
of any of its successors.
The value to A of a node with AND successors (a node from
which B chooses the next move) is the minimum value of any
of its successors.
In the example, node 2 evaluates to a loss for A (since B can then
force a loss by moving to node 6), and node 3 evaluates to a draw
(since the best B can then do is move to node 7 or 9). It will be
noted that the prediction of the opponent's behavior assumes he is also
using minimax: In evaluating a node with AND successors, A must
assume that B will make his best possible move. The technique ignores
the possibility that B might overlook his chance for a sure win if A
goes to node 2. Similarly, it supplies no basis on which B might choose
to move to node 9 in preference to node 7.
Because of the way in which nodes are evaluated, player A (whose
viewpoint the tree represents) is often called MAX, and player B, MIN.
The names PLUS and MINUS are also sometimes used. If the tree of
Figure C5-1 were to be evaluated from MEN's standpoint instead of
MAX's, it would appear as in Figure C5-2. The AND and OR nodes
are reversed, and the value of each node to MIN is the opposite of its
value to MAX.
l
A
draw
4
A
ose
2
B
wi n
5
A
ose
6
A
wi n
7
A
draw
3
B
draw
8
A
ose
9
A
draw
10 11 12 13 14 15 16 17 18 19 20 21
lose lose win lose win win draw draw lose draw win draw
Figure C5-2. The game tree of Figure C5-1 from 5's standpoint.
86
Search
n
The Negmax Formalism
Knuth and Moore (1975) have given a game-tree representation that
unifies Figures C5-1 and C5-2 and conveniently permits a single pro-
cedure to return optimal moves for both players A and B. In this rep-
resentation, the value given each node is its value to the player whose
turn it would be to move at that node. If n is a terminal node, its
value is an integer denoted f(n). (The value of n to the other player is
-f(n).) The value of every node is then returned by a function F
defined as follows:
F(n) = f(n), if n has no successors;
F(n) = max {-F(ni), . . .,-F(nk)}, if n has successors n1? . . ., % .
The best move for either player is then to a node with maximum value;
that is, the player whose turn it is at node n should move from node n
to a node r^ with -F(ni) = F(n). This formulation, which is equivalent
to minimax, is called negmax. The tree it produces for the game of
Figures C5-1 and C5-2 is shown in Figure C5-3. The numerical value of
a win is assumed to be +1; of a loss, -1; and of a draw, 0.
l
A
F=0
4
A
F=+l
2
B
F=+l
5
A
F=+l
6
A
F=-l
7
A
F=0
3
B
F=0
8
A
F=+l
9
A
F=0
10 11 12 13 14 15 16 17 18 19 20 21
F=-l F=-l F=+l F=-l F=+l F=+l F=0 F=0 F=-l F=0 F=+l F=0
Figure C5-3. The game tree of Figure C5-1 in NEGMAX notation.
C5a Minimax Procedure 87
Searching a Partial Game Tree
In the above descriptions of the minimax and negmax algorithms, it
was assumed that a complete game tree had already been generated.
For most games, however, the tree of possibilities is far too large to be
generated fully and searched backward from the terminal nodes for an
optimal move. An alternative is to generate a reasonable portion of the
tree, starting from the current position; make a move on the basis of
this partial knowledge; let the opponent reply; and then repeat the pro-
cess beginning from the new position. A "reasonable portion of the
tree" might be taken to mean all legal moves within a fixed limit of
depth, time, or storage, or it might be refined in various ways. For
discussion of the refinements, see Article n.C5c.
Once the partial tree exists, minimaxing requires a means for esti-
mating the value of its tip nodes, that is, the nodes of the partial tree
without successors. A function assigning such a value is called a static
evaluation function; it serves a purpose comparable to that of the
heuristic function h* used in Nilsson's ordered search of an AND/ OR
tree (Article n.C4). If the partial game tree contains any nodes that are
terminal for the entire tree, the static evaluation function conventionally
returns positive infinity for a win, negative infinity for a loss, and zero
for a draw. At other tip nodes, the function has a finite value which, in
the minimax formulation, is positive for positions favorable to MAX and
negative at positions favorable to MIN. The minimax procedure then
assigns backed-up values to the ancestors of the tip nodes in accordance
with the rules given in condition (1) in the preceding discussion of the
minimax formalism. It is assumed that the backed-up evaluations give
a more accurate estimate of the true value of MAX's possible moves
than would be obtained by applying the static evaluation function
directly to those moves and not looking ahead to their consequences.
References
See Knuth and Moore (1975), Nilsson (1971), Slagle (1971), and
Winston (1977).
C5b. Alpha-Beta Pruning
The minimax procedure described in Article n.C5a decides on a best
move from node n, in a full or partial game tree, by evaluating every
node in the tree that descends from node n. Frequently, this exhaustive
evaluation is a waste of time. Two examples are shown in Figures
C5-4 and C5-5. Each node is marked with the name of the player who
is to move from that position.
1
MAX
/ \
1
MAX
/ \
/ \
2
MIN
F(2)=15 I
3
MIN
' \
\
5
MAX
/
2
MIN
/ \
\
3
MIN
1
4
MAX
F(4)=10
/ \
4 5
MAX MAX
F(4)=20 / \
\
/
6
MIN
F(6)=25
\
7
MIN
Figure C5-4. An alpha cutoff.
Figure C5-5. A beta cutoff.
In Figure C5-4, nodes 2 and 4 have been evaluated either by the
static evaluation function or by backing up from descendants omitted
from the figure. If MAX moves to node 2, he achieves a position whose
estimated value is 15. If he moves to node 3, MIN can hold him to 10.
Therefore, the value of node 3 is at most 10, so MAX should decide to
move to node 2. The important point is that this decision can be made
without evaluating node 5 or any of its possible descendants.
In Figure C5-5, node 4 has an estimated value to MAX of 20.
When node 6 is evaluated at 25, it becomes clear that MIN should
avoid moving to node 5. Node 2 can therefore be assigned a value of
20 without any need to evaluate node 7 or any of its descendants.
The alpha-beta technique for evaluating nodes of a game tree elim-
inates these unnecessary evaluations. If, as is usual, the generation of
C5b Alpha-Beta Pruning 89
nodes is interleaved with their evaluation, then nodes such as the
descendants of node 5 in Figure C5-4 and of node 7 in Figure C5-5
need never even be generated. The technique uses two parameters,
alpha and beta. In Figure C5-4, the parameter alpha carries the lower
bound of 15 on MAX's achievement from node 1; the elimination of
node 5 is an alpha cutoff. In Figure C5-5, the parameter beta is set to
20 at node 4, representing an upper bound on the value to MAX of
node 2; the elimination of node 7 is a beta cutoff. The procedure guar-
antees that the root node of the tree will have the same final value as
if exhaustive minimaxing were employed.
A concise statement of the alpha-beta procedure has been given by
Knuth and Moore (1975). It uses their negmax representation in which
both players are treated as wishing to maximize (see Article n.C5a).
Figure C5-6 shows how Figures C5-4 and C5-5 are transformed in the
negmax representation.
1
MAX
/ \
1
MAX
/ \
/ \
2
MIN
F(2)=-15 J
3
MIN
\
/
2
MIM
/ \
\
3
MIN
1
4
MAX
F(4)=10
\
5
NAX
/ \
4 5
MAX MAX
F(4)=20 / \
6 '
MIM
F(6) = -25
\
7
MIN
Figure C5-6. The NEGMAX representation of Figures C5-4 and C5-5.
To evaluate node 1 of either tree, the procedure is called with the
parameters POSITION = node 1, ALPHA = negative infinity, and BETA
= positive infinity. The static evaluation function is called /. The pro-
cedure, here called VALUE, is as follows:
90 Search II
integer procedure VALUE (position p, integer alpha, integer beta):
begin
integer m, i, t, d;
determine the successor positions pj, p2, • • •> Pd of position p;
if d = 0 then VALUE := /(p) else
begin m := a/p/ia;
for i ' := 1 step 1 until d do
begin
t := -VALUE (p^ -6e£a, -m);
if t > m then m := £;
if ra > 6eta then go to done;
end;
done: VALUE := ra;
end;
end;
For an intuitively developed LISP version of the alpha-beta procedure,
see Winston (1977). An excellent review of the historical development of
the technique appears in Knuth and Moore (1975).
Ordering of Successors
The degree to which the alpha-beta procedure represents an im-
provement in efficiency over straight minimaxing varies with the order
in which successor nodes are evaluated. For example, no cutoff would
occur in Figure C5-4 if node 3 were considered before node 2.
In general, it is desirable that the best successor of each node be
the first one evaluated — that is, that the first move MAX considers be
his best move, and that the first reply considered for MIN be the move
that is best for MIN and worst for MAX. Several schemes for ordering
the successors of a node have been described to try to achieve this state
of affairs. One possibility, an example of fixed ordering, is to apply the
static evaluation function to the successors, taking the results of this
preliminary evaluation as an approximation of their expected backed-up
values. A method of this sort will result in depth- first generation and
evaluation of the partial game tree, subject to the depth bound or other
criteria for terminating generation. For some other possibilities, see
Article n.C5c.
C5b Alpha-Beta Pruning 91
Efficiency in Uniform Game Trees
Since the alpha-beta procedure is more complicated than minimax-
ing, although it yields the same result, one may inquire how great an
increase it produces in search efficiency. Most theoretical results on this
question deal with uniform game trees: A tree is said to be uniform if
every tip node has depth d and every nontip node has exactly b suc-
cessors. Here, b is called the branching factor or degree of the tree.
The results reviewed below come from Knuth and Moore (1975) and,
for the best case, Slagle and Dixon (1969). For other related work, see
Fuller, Gaschnig, and Gillogly (1973), Newborn (1977), and Baudet
(1978).
The best case. A uniform game tree of depth d and degree b con-
tains exactly bd tip nodes, all of which must be examined by minimax.
In the worst case, alpha-beta also must examine every tip node. In the
best case, alpha-beta examines only about twice the square root of the
number of tip nodes. More precisely, assuming the value of the root is
not infinite, the number of tip nodes examined in the best case is
tf(d+l)/2] + &[d/2] _ i
(where square brackets represent the greatest integer function); and the
nodes examined in the tree as a whole are precisely the critical nodes,
defined as follows:
Type 1 critical nodes are the root node and all first successors of
type 1 nodes.
Type 2 critical nodes are all further successors (except the first) of
type 1 nodes and all successors of type 3 nodes.
Type S critical nodes are the first successors of type 2 nodes.
Figure C5-7 illustrates the distribution of critical nodes in a uniform
tree of degree 3 and depth 3.
Knuth and Moore have shown that the best case occurs for a
uniform tree if the best move is considered first at each critical node of
types 1 and 2. Attempts to order the successors of type 3 positions
contribute nothing to efficiency, since these successors are type 2 nodes,
which must all be examined anyway.
92
Search
n
1223XX3XX
/l\ /l\ /l\ /l\ /l\ /l\ /l\ /l\ /l\
1223XX3XX222XXXXXX222XXXXXX
Figure C5-7. Distribution of critical nodes.
Random uniform game trees. Knuth and Moore also show that the
alpha-beta technique is optimal in the sense that no algorithm can
evaluate any game tree by examining fewer nodes than alpha-beta does
with an appropriate ordering of successors. Realistically, of course, one
cannot expect to achieve the optimal successor ordering, since this would
imply full knowledge of the game tree before it is generated. Assuming,
therefore, that the tip nodes of the tree have distinct random values,
Knuth and Moore show that the expected number of tip nodes ex-
amined, in evaluation of a uniform tree with branching factor b and
depth d, has an asymptotic upper bound of
((./(log 6))d
as d goes to infinity.
Totally dependent, uniform game trees. One other type of tree
considered by Knuth and Moore, perhaps more realistic than the one in
which tip nodes have random values, corresponds to games in which
each move is critical: If a poor move is ever chosen, there is no way
to recoup. The model is a uniform game tree that is totally dependent:
For any two successors of node p, these successors can be labeled q
and r, so that every tip node descended from node q has greater value
than any tip node descended from node r. In this type of tree, if the
degree is at least 3, the expected number of tip positions examined is
bounded by a constant (depending on the degree) multiplied by the
C5b Alpha-Beta Pruning 93
number of tip nodes examined by the alpha-beta method in the best
case.
References
See Baudet (1978), Fuller, Gaschnig, and Gillogly (1973), Knuth and
Moore (1975), Newborn (1977), Nilsson (1971), Slagle (1971), Slagle and
Dixon (1969), and Winston (1977).
C5c. Heuristics in Game Tree Search
In the search of a game tree (Article n.B3), as in other kinds of
search, there are various points at which heuristic information may be
applied. The parallel is not exact, however. In one-person problem
solving, the main uses for heuristic information are to decide which node
to expand next, which operator to apply next, and, in some algorithms,
which nodes to prune from the search tree (see Article n.C3a). These
questions are also present in game-playing programs, but with a shift in
emphasis. In addition, some new questions arise: When should the
search be terminated? How should a move be chosen on the basis of
the search that has been made?
The simplest answers to these questions were described in Article
n.C5a: Expand every node completely, in any convenient order and with
no pruning, until every tip node represents a termination of the game.
Then, working back from the end of the game, use the minimax pro-
cedure to find a winning line of play (if one exists) and follow this line
of play throughout the game. Article n.C5b described an improvement
on this approach that yields the same final result with greater efficiency.
A program using only these basic techniques would play a theo-
retically perfect game; its task would be like searching an AND/ OR tree
for a solution to a one-person problem. For a simple game like tic-tac-
toe (see Article n.B3), such a program would no doubt be feasible. For
complex games, however, it has been recognized from the beginning that
searching from the start of the game to its end would be impossible.
In chess, for example, with around 30 legal moves from each position
and about 40 moves for each player in a typical game, there are some
(302)40 or 10120 different plays of the game (Shannon, 1950).
Because of the magnitude of the search space in chess, checkers, and
other nontrivial games, there is a major difference between programs
that play such games and programs that use the methods of this chap-
ter to solve nonadversary problems. The latter either find a solution or
fail, having run out of time or space; much of the research assumes
that some solution can be found and deals with how to guarantee that
it is optimal or nearly optimal (see Sec. n.C3). The question for a chess
program, in contrast, is how to play a good game even though it has
not found a solution to the problem of winning. Repeatedly the program
must become committed to its next move long before the end of the
game comes into view. Whether the move chosen is in fact part of a
winning strategy is unknown until later in the game.
C5c Heuristics in Game Tree Search 95
For a nontrivial game-playing program, then, the issues listed at the
beginning of this article are all aspects of a broader question: Can the
basic search techniques, designed for seeking a guaranteed win, be
successfully adapted to the problem of simply choosing the next move?
In addition, one might well ask whether there are alternatives to search
as the basis for move selection. Most of the work exploring these
questions has been done in the specific domain of chess. In general, the
discussion below is limited to chess programs and Samuel's checkers
program (1963, 1967).
Alternatives to Search
An example of choosing a move on a basis other than search is the
use of "book moves" in the opening of a chess game (see Frey, 1977,
pp. 77-79). More generally, there is an emphasis in the recent computer-
chess literature on treating the problem of move choice as a problem of
recognizing patterns on the board and associating appropriate playing
methods with each pattern (e.g., Charness, 1977, p. 52; Bratko, Kopec,
and Michie, 1978; Wilkins, 1979).
It is not expected, however, that search can be eliminated entirely
from chess programs; even human players do some searching. Rather,
the choice-of-move problem is seen as involving a trade-off between the
amount of specialized chess knowledge a program has and the amount
of search it needs to do. (See, e.g., Berliner, 1977c; Michie, 1977.) And
there are limits on the amount of knowledge a program can be given:
The combinatorics of chess preclude storing an exhaustive representation
of the game, and even the knowledge possessed by chess masters, which
greatly restricts search in human play, also remains very far from com-
plete formalization.
The last section of this article reviews several programs that attempt
to use human-like knowledge to eliminate most searching. The sections
preceding it concern techniques used in programs in which search rather
than knowledge is predominant.
Search-based Programs
The most successful game-playing programs so far have made search
rather than knowledge their main ingredient. These include, among the
earlier programs, Samuel's checkers program (1963, 1967), which came
close to expert play, and Greenblatt's chess program (1967), which was
the first to compete in tournaments and which earned a rating of
1400-1450, making it a Class C player. (Current classes of the United
States Chess Federation are E through A, Expert, Master, and Senior
96 Search II
Master; see Hearst, 1977, p. 171.) Notable later programs include the
Soviet program KAISSA (Adelson-Velskiy, Arlazarov, and Donskoy,
1975), which won the first world computer- chess championship in 1974,
and Slate and Atkin's CHESS 4.5 (1977), whose current standing is men-
tioned below under "Iterative deepening." (For general reviews of
computer- chess competition, see Newborn, 1975; Mittman, 1977; Berliner,
1978a.)
All the programs referred to above follow the basic search paradigm
formulated by Shannon in 1950. In its simplest form, which was called
a Type A program, Shannon's paradigm made just two changes to the
procedure mentioned above that calls for searching exhaustively all the
way to the end of the game. First, the game tree was to be generated
only to a fixed depth. Second, since the nodes at the depth limit
would normally be nonterminal, a means of estimating the promise of
these nodes was required. The estimate was to be given by a static
evaluation function, whose values could then be backed up by mini-
maxing to determine the next move. After this move was made and
the opponent had replied, the search process would be repeated begin-
ning from the new position.
Shannon noted that a simple Type A program would play chess
both badly and slowly. He suggested two directions for improvement in
a Type A program, with which the program would become Type B.
The general objectives were, first, to let the exploration of a line of
play continue to a reasonable stopping point instead of invariably cut-
ting it off at an arbitrary depth and, second, to provide some selectivity
about the lines of play considered, so that more time could be spent
investigating strong moves and less on pointless ones.
Even a Type B program, Shannon concluded, seemed to rely too
much on brute-force calculation rather than on knowledgeable analysis of
the situation to choose a move. Nevertheless, his proposals established
a framework that most competitive game-playing programs have adopt-
ed. The framework raises a large number of interrelated issues, which
are discussed in the following sections.
Static Evaluation
A static evaluation function, by definition, is one that estimates the
value of a board position without looking at any of that position's suc-
cessors. An ideal function would be one that reports whether the
position leads to a win, a loss, or a draw (provided neither side makes
a mistake). Even more informatively, the function might report the
number of moves required to win, with an arbitrarily large value if no
C5c Heuristics in Game Tree Search 97
win is possible. But functions that can distinguish between winning and
losing positions are known only for simple games; an example of such a
function for the game Nim is given in Shannon (1950).
Where perfect evaluation functions are unavailable, the actual static
evaluator must return an estimate. Unlike the evaluation function used
in an ordinary state-space or AND/OR graph search (see Articles n.C3a
and n.C4), the static evaluation function of a game-playing program does
not normally attempt directly to estimate the distance to a win from
the position evaluated. (For a proposal that the function should do just
this, see Harris, 1974.) Instead, the function is usually a linear poly-
nomial whose terms represent various features of the position, high
values being given for features favorable to the program and low ones
for those favoring the opponent. In chess, the most important feature
is material; the corresponding term of the evaluation function might be
computed by assigning a numerical value to each kind of piece and
finding the difference between the total values of the two players' pieces
on the board. Other typical features, familiar to chess players, include
king safety, mobility, center control, and pawn structure.
The most extended treatment of evaluation functions in the liter-
ature is provided by Samuel (1963, 1967). For checkers, he concluded
that the optimal number of features to be used in the evaluation func-
tion was between 20 and 30 (1967, p. 611). Samuel's main interest was
in machine learning; one approach he took was to provide his checkers
program with a large set of features for possible use in the evaluation
function and to let the program determine, as it gained playing ex-
perience, both which of these features should be included and what their
relative weights should be. In a later version of the program, the
emphasis was shifted to taking the interactions among features into
account in evaluating positions. With this change, the evaluation
function became nonlinear, and considerable improvement was reported
in its quality as measured by the correlation with moves chosen in
master play (Samuel, 1967; see also Griffith, 1974). For further dis-
cussion of Samuel's work, see Chapter XV, in Volume m.
Reasonably accurate static evaluation, then, requires a rather com-
plex function. But there is an important limit on the complexity that
is feasible, especially for a program that plays in tournaments, under
time limitations. As the total number of tip nodes in the search tree
increases, the time available for evaluating any single tip node goes
down. Thus Gillogly's chess program TECH (1972), which was intended
as an experiment in how much could be accomplished on advanced
machines by simple brute-force search, and which generates up to
500,000 tip nodes even with alpha-beta pruning, uses material as the
only factor in its static evaluations.
98 Search II
Backed-up Evaluation
The Shannon paradigm assumes that the step between static evalu-
ation and the choice of a move is simply minimaxing: The program
moves to any position with the best backed-up minimax value. This
step is indeed very commonly used. But it is worth noting that, since
the static evaluation function may be wrong, the minimax procedure no
longer serves its original purpose of defining and identifying a move that
is theoretically correct. Instead, minimaxing has itself become a heu-
ristic for the choice of move. Several programs have therefore experi-
mented with varying or supplementing the minimax procedure. Slagle
and Dixon (1970), for example, in experiments with the game of Kalah,
compute the backed-up value of a node by taking into account not only
the value of its best successor but also whether the node has several
good successors or just one. Gillogly's TECH (1972), having computed
minimax values on the basis of an extremely simple static evaluation,
breaks ties between moves with equal minimax values by an analysis of
features not considered by the evaluation function. Newell, Shaw, and
Simon (1963a) set a value in advance that the search is expected to
achieve; the first move found that meets this standard is made, and
only if no move is good enough is the best minimax value used to
determine the move (see also Newell and Simon, 1972).
Depth of Search
If perfect evaluation functions were available, a game-playing pro-
gram could proceed at each turn by generating all legal moves, evalu-
ating each of the resulting positions, and choosing the move leading to
the best value. The reason for looking farther ahead is to compensate
for errors in the static evaluation. The assumption is that, since static
evaluation has a predictive aspect, there will be less room for mistaken
prediction if a deep tree is generated before the evaluation function is
applied.
The controlling fact about search depth is the combinatorial explo-
sion. If the average number of legal moves from a position, the
branching factor, is b, the game tree will have about 6d nodes at
depth d. According to Shannon's estimate for chess, a complete tree
carried to depth 6 — three moves for each player — would already have
about one billion tip nodes. At the same time, Shannon noted, a world
champion may occasionally look ahead, along a single line of play, to a
depth as great as 15 or 20. More recently, Hans Berliner, a former
World Correspondence Chess Champion, has said he finds it necessary at
least once in a game to look ahead to a depth of 14 or more (1974,
C5c Heuristics in Game Tree Search 99
p. 1-8). The question, then, is how to get the needed depth, in the
right places, without succumbing to the combinatorial explosion. An
alternative question would be how to avoid the need for so deep a
search. The remainder of this article concerns attempts to solve or at
least alleviate these problems. First, however, experience with the use
of depth bounds as such will be reviewed.
Fixed-depth search with extensions for quiescence. The simplest look-
ahead procedure, which was called for by Shannon's Type A strategy, is
to set a fixed depth, or ply, to which the game tree is to be generated
and to apply the static evaluation function only to nodes at this depth.
Thus a four-ply search would statically evaluate the positions reached
after exactly two turns for each player. There are serious drawbacks in
this procedure, as Shannon observed, and it was used only in very early
programs (Kister et al., 1957; Bernstein et al., 1959). For example, a
chess evaluation function based mainly on material cannot return a
realistic value if, at the depth limit, the players happen to be halfway
through an exchange of pieces. The concept of a quiescent, or dead,
position was introduced to get around such difficulties (Shannon, 1950;
see also Turing, 1953): Search would be extended beyond the normal
limit, from nonquiescent positions only, until all tip nodes were rela-
tively stable or perhaps until some absolute depth-bound had been
reached.
This introduction of a quiescence search was one of the two features
that changed a program, in Shannon's terminology, from Type A to
Type B. On Shannon's suggested definition, a position was considered
nonquiescent if "any piece is attacked by a piece of lower value, or by
more pieces than defences or if any check exists on a square controlled
by opponent" (1950, p. 271). Many programs have adopted a similar
definition, with the result that the only moves examined beyond the
normal limit are checks and immediate captures (e.g., Gillogly, 1972;
Adelson-Velskiy et al., 1975; Slate and Atkin, 1977). If such a quies-
cence search is combined with considering all legal moves down to the
normal depth limit, the program is still called Type A in current ter-
minology (e.g., Berliner, 1978b).
The horizon effect. Searching to an arbitrarily limited depth, even
with extensions for checks and captures, creates a phenomenon that
Berliner (1973, 1974) has called the horizon effect Berliner's general
observation is that, whenever search is terminated (short of the end of
the game) and a static evaluation function is applied, the program's
"reality exists in terms of the output of the static evaluation function,
and anything that is not detectable at evaluation time does not exist as
far as the program is concerned" (1974, p. 1-1).
100 Search II
Two kinds of errors ensue. The first is called the negative horizon
effect: The program manipulates the timing of moves to force certain
positions to appear at the search horizon, and it thus may conclude
that it has avoided some undesirable effect when in fact the effect has
only been delayed to a point beyond the horizon. A second kind of
error, the positive horizon effect, involves reaching for a desirable con-
sequence: Either the program wrongly concludes that the consequence is
achievable or it fails to realize that the same consequence could also be
achieved later in the game in a more effective form. This last problem,
Berliner believes, can be met only by finding ways to represent and use
more chess knowledge than traditional programs have included (1974,
p. 1-7).
For most of the errors coming from the horizon effect, however, the
diagnosis is that the typical definitions of quiescence are highly over-
simplified. Ideally, a position would be considered quiescent only when
the static evaluation function, applied to that position, could return a
realistic value, that is, when the value of every term included in the
function had become stable. A quiescence search that pursues only se-
quences of captures and checking moves, however, seeks stability only in
the material term. The material term itself, moreover, usually reflects
only the presence of the pieces on the board; its value will be un-
changed by a move that guarantees a capture later instead of making a
capture now.
To get around the problems arising from inadequate quiescence
analysis, a first approach called secondary search was developed by
Greenblatt (1967): Whenever a move seemed, on the basis of the reg-
ular search (including quiescence), to be the best move considered so far,
the predicted line of play was extended by searching another two ply
(plus quiescence) to test the evaluation. Berliner points out, however:
"The horizon effect cannot be dealt with adequately by merely shifting
the horizon" (1974, p. 1-4). One direction in current work, therefore, is
toward a much fuller quiescence analysis as a substitute for arbitrary
depth bounds. (See Harris, 1975, 1977a; Slate and Atkin, 1977, pp. 115-
117; and, for an early example, Newell and Simon, 1972, pp. 678-698.)
Berliner (1977c, 1978a), meanwhile, is developing a general algorithm,
not limited to chess, for causing tree search to terminate with a best
move, even though no depth limit has been set and no full path to a
win has been found.
Iterative deepening. Despite its drawbacks, most current programs
still use a fixed-depth search, extended for checks and capture sequences.
A variation used by CHESS 4.5 (Slate and Atkin, 1977) is called iter-
ative deepening: A complete search, investigating all legal moves (sub-
C5c Heuristics in Game Tree Search 101
ject to alpha-beta pruning), is done to depth 2, returning a move. The
search is then redone to depth 3, again to depth 4, and so on, until a
preset time limit is exceeded. For efficiency, information from earlier
iterations is saved for use in later ones. Running on the very fast CDC
Cyber 176 computer, the program searches to an average depth of six
plies in tournament play, with search trees averaging 500,000 nodes
(Newborn, 1978). It is the first program to have achieved an Expert
rating in human play. In the fall of 1978 a new version, CHESS 4.7,
was reportedly rated 2160 (Levy, 1979); Master ratings begin at 2200.
It remains an open question how much stronger the program can be-
come.
Ordering of Search
The Shannon paradigm did not specify any particular order in which
the nodes of the search tree were to be explored or any order in which
moves from a given node were to be considered. For efficient use of
space, the order of node expansion is usually depth-first; a depth-first
algorithm needs to store explicitly only those nodes on the path it is
currently investigating and not the parts of the tree in which search has
been completed.
With the invention of alpha-beta pruning, the order of considering
moves within a depth-first search became highly significant. If the order
is ideal, then in a tree with branching factor b, the number of nodes
that must be examined at depth d is reduced from 6d to only about
26d/2 (see Article n.C5b). For example, Shannon's estimated 109 chess
positions at depth 6 would be reduced to around 50,000. It also follows
that, for a constant number of tip nodes examined, correct ordering of
the moves for alpha-beta cutoffs would allow the search depth to be
roughly doubled. In general, the desired ordering is one in which the
first move considered at a position is the best move for the player
whose turn it is. Usually, of course, there is no method guaranteed to
achieve this ordering, for if there were, it would enable moves to be
chosen with no search at all. Several heuristics have been used, how-
ever, to try to approximate optimal ordering.
Perhaps the simplest idea for move ordering is the fixed- ordering
method mentioned in Article n.C5b: For each move from a node, gen-
erate a new node for the resulting position, apply the static evaluation
function to the position, and order the nodes according to this pre-
liminary estimate. For greater efficiency, several programs have used a
separate function for move ordering, which applies to the move itself
instead of to the position that results from it (Greenblatt, 1967;
102 Search II
Berliner, 1974, p. 11-16; Adelson-Velskiy et al., 1975). In either case,
the game tree is explored by an ordered depth- first search (Article
n.C3a).
A fuller basis for choosing which move to consider first is provided
by Slate and Atkin's iterative deepening technique, which makes re-
peated depth-first searches. Each iteration constructs a line of play,
down to its depth limit, consisting of apparently best moves. The
following iteration, going one ply deeper, thus has available an estimated
best move from each position along this line of play. (See Slate and
Atkin, 1977, pp. 102-103.)
A further approach to move ordering makes explicit the idea of a
refutation move: For each move that is not a best move, it should be
shown as quickly as possible that the move is bad. To do this, strong
replies should be considered first, which may refute the move proposed.
Typical implementations consider all capturing moves first and then con-
sider killer moves. The idea here, called the killer heuristic, is that if a
move has served as a refutation in some previously examined position
that is similar to the current one, it is likely to be a refutation in the
current position, too. For more on the killer heuristic and other refu-
tation techniques, see Gillogly (1972), Adelson-Velskiy et al. (1975), Frey
(1977, pp. 54-81), and Slate and Atkin (1977).
Once the moves have been ordered at a given node and the search
has moved downward, following the move that seemed best, it may turn
out that this move is actually a very bad one for reasons that were not
apparent earlier. Since accurate move-ordering is important to maxi-
mizing alpha-beta cutoffs, it might be worthwhile at this point to go
back, reorder the moves, and start again with a different estimated best
move. Such a procedure, called dynamic ordering, was investigated by
Slagle and Dixon (1969), using the game of Kalah. They reported a
modest improvement over fixed ordering for trees of depth at least 6.
On the other hand, Berliner's chess program experienced a serious in-
crease in running time when dynamic ordering was used (1974,
p. IV-14). A procedure somewhat similar to dynamic ordering was also
used by Samuel (1967).
If dynamic ordering is carried to its limit, so that reordering is
considered every time a node is expanded instead of only under more
limited conditions, the search procedure in effect changes from depth-first
to best-first That is, the move considered next (or the position to which
it leads) is on some estimate the most promising in the entire search
tree generated so far, subject to whatever depth limit exists. Nilsson
(1969, 1971) implements this idea by adapting his algorithm for best-first
C5c Heuristics in Game Tree Search 103
AND/OR-tree search (Article n.C4) to game trees. Harris (1975, 1977a)
suggests another adaptation in which the motivation of maximizing
alpha-beta pruning no longer plays a role and instead the objective is
to expand the most active positions first, applying a thorough quies-
cence analysis rather than a depth limit as the criterion for search ter-
mination.
Width of Search
The techniques discussed so far are consistent with the idea that all
legal moves from a position must be examined, at least sufficiently to
establish that they can be safely pruned by the alpha-beta method.
This consideration of all legal moves is referred to as full-width search-
ing. Some of the earliest programs used a full-width search for sim-
plicity; in programs strong by current standards, it is used because of
the great difficulty in determining, without search, which moves can be
safely ignored (Turing, 1953; Kister et al., 1957; Gillogly, 1972; Adelson-
Velskiy et al., 1975; Slate and Atkin, 1977). The problem, of course, is
that an excellent move may look very poor at first sight.
Yet the average number of legal moves from a chess position is at
least 30, and even with a maximum of alpha-beta pruning, the tree
grows exponentially. Making the search more selective was Shannon's
second requirement to change a program from Type A to Type B. Many
people have been convinced that such selectivity is essential to a strong
chess program, both to increase search depth and to permit more
sophisticated evaluation of the nodes remaining in the search tree.
Berliner, for example, has advocated reducing the total search tree size
to at most 5,000 nodes, with a branching factor of less than 1.9 (1974,
p. 1-16). Although some reconsideration of these ideas has been
prompted by the success of CHESS 4.7 with full- width search, it appears
that that program is still weak at long end-game sequences (see Berliner,
1978b; Michie and Bratko, 1978). Moreover, there are other games for
which it is even clearer that full-width search is not the answer. For
the game of Go, for example, the average branching factor has been
estimated at perhaps 200 (Thorp and Walden, 1970), and for back-
gammon, where legal moves depend on the throw of the dice as well as
the board position, the factor is over 800 (Berliner, 1977a).
Various devices have been tried in the effort to increase the selec-
tivity of the search without missing good moves. Some are conceptually
simple, introducing little or no new chess-specific knowledge into the
program. Others attempt to formulate and use chess concepts as sophis-
ticated as those a chess master might employ. The remainder of this
104 Search II
section reviews chiefly the earlier search-controlling devices. The
following section mentions work, some of which moves outside the
Shannon paradigm, in which the effort to capture expert chess
knowledge becomes primary.
Forward pruning. One way of limiting the number of moves to be
considered introduces no new complications: Simply generate all legal
moves at a position, use a fixed-ordering scheme to sort them according
to their apparent goodness, or plausibility, and then discard all but the
best few moves. Such a technique, called plausible-move generation or
forward pruning, was used by Kotok (1962) and Greenblatt, Eastlake,
and Crocker (1967); see also Samuel (1967). A further feature of these
programs, sometimes called tapered forward pruning, was that the num-
ber of moves retained was a function of the depth at which they were
generated. For example, Greenblatt 's program in tournament play re-
tained 15 moves from a position at either of the top two levels of the
tree, 9 moves at the next two levels, and 7 moves thereafter. These
figures could be increased in special cases — for example, to be sure that
moves of more than a single piece were considered.
Another form of forward pruning, distinct from plausible-move gen-
eration, operates not at the time when moves are originally generated
but later, when one of these moves (or the position to which it leads) is
being selected for further exploration. At this point, a preliminary esti-
mate of the value of the move or position may already have been made
by the move-ordering scheme. If this estimate is outside the limits
alpha and beta, the currently known bounds on the outcome of the
entire search (see Article n.C5b), the node is pruned without further
investigation. It is possible, of course, that the actual backed-up value
of the node would have turned out to be between alpha and beta. In
that case, a good move may have been missed. (See Samuel, 1967;
Berliner, 1974, p. IV-13.)
Still another basis for forward pruning has been explored by
Adelson-Velskiy et al. (1975). They observe that KAISSA's search trees
include many lines of play that a human would consider absurd, not
necessarily because the moves are bad a priori but because the human
player has already considered and rejected the same moves in an anal-
ogous position. The proposal, then, is to remember moves that have
been found to be absurd (on some definition) and to reject them in
other positions, too, unless there has been an appropriate change of cir-
cumstances. In effect, this method of analogies involves trying to estab-
lish conditions under which a refutation is guaranteed to be effective.
C5c Heuristics in Game Tree Search 105
Then the line of play constituting the refutation would not need to be
explored separately every time it is applicable. (See Frey, 1977, p. 68.)
Goal- directed move generation. Returning to the initial generation
of moves, there is another kind of plausible-move generator that comes
closer to mimicking the way that humans might decide which moves are
worth considering. Instead of generating all legal moves and discarding
some, this approach does not generate moves at all unless they seem
relevant to some goal. The earliest step in this direction was Bernstein's
program (1959), which contained a sequence of board features to be
tested for and a procedure for generating moves in response to each
feature that was present. The first few tests in the sequence were, first,
whether the king is in check; second, whether material can be gained,
lost, or exchanged; and, third, whether castling is possible. A maximum
of seven plausible moves was returned. Questions later in the sequence
were not asked if earlier questions caused the maximum to be reached.
Searching to a fixed depth of four ply, the program generated trees with
about 2,400 tip nodes.
More explicitly goal-directed move-generation was included in Newell,
Shaw, and Simon's 1958 chess program (Newell, Shaw, and Simon,
1963a; Newell and Simon, 1972). Indeed, the entire program was orga-
nized in terms of goals, although only three— material, center control,
and piece development — were actually implemented. At each turn, the
program began by making a preliminary analysis to decide which of the
goals were relevant to the situation; these were entered, in order of
importance, on a current goal-list. It was intended, in a more fully
developed program, that as the game progressed, the goals of center
control and development would drop out, since they are important
mainly in the opening, and would be replaced by others more appro-
priate to later phases of the game.
Each active goal in the Newell, Shaw, and Simon program was re-
sponsible for generating relevant moves at the first level of the tree. In
addition, each goal contained its own separate generator for moves at
deeper levels, its own criteria for whether a position was dead, and its
own static evaluation function. The search proceeded, in a highly selec-
tive manner, until the tip nodes were dead with respect to all active
goals. Static evaluations with respect to the various goals were com-
bined lexicographically, so that the highest priority goal was dominant
and the others served only as tiebreakers. Newell and Simon (1972,
p. 694) report that the program's average search tree contained only 13
nodes — with no apparent loss in playing power compared to other
programs up to that time.
106 Search II
Knowledge-based Programs
The Bernstein program and the Newell, Shaw, and Simon program
were early efforts to introduce significant chess knowledge, organized in
human terms, to limit brute-force search. The actual knowledge was
very sketchy; apparently neither program ever won a game (see Newell
and Simon, 1972, pp. 677, 690).
An attempt at fuller use of chess knowledge was made in Berliner's
program, CAPS-II (1974, 1977b). Much of the work involved developing
a representation suitable for use in selectively generating moves, making
preliminary evaluations of the moves so proposed, and describing the
actual consequences discovered when a move was tried. The moves gen-
erated depend on the current goal state, which may be King in Check,
Aggressive, Preventive Defense, Nominal Defense, Dynamic Defense, or
Strategy. In contrast to the Newell, Shaw, and Simon program, the goal
states are mutually exclusive, and state transitions take place dynam-
ically as the tree is searched, in accordance with a complex flowchart.
An important feature of the program, the Causality Facility, relates to
both move generation and move ordering, as well as to pruning in some
cases. The problem it attacks is a general one in tree searching: When
a path has been explored and found unsatisfactory, most programs have
no way to diagnose what went wrong or to use this information in
deciding where to search next.
The basic search algorithm in CAPS-n is depth-first, with mini-
maxing and alpha-beta pruning. The Causality Facility operates as a
refinement on this search. A first new feature is that, whenever a value
is backed up in the search tree as a tentative minimax value, certain
information is accumulated about the consequences of the move or
moves that produced the value. The data structure in which the in-
formation is stored is called a Refutation Description. As the basis for
making use of the Refutation Description, the program uses a variable
representing the expected value of the position at the root of the search
tree; this value, which may be updated during the search, lies some-
where between the bounds given by alpha and beta. Now, the tentative
value newly backed up to a node can be compared with the expected
value. If the comparison is unsatisfactory, the Causality Facility uses the
Refutation Description to decide whether the last move tried from the
node could have been responsible. It generates a list of alternative
moves from the node, with the aim of avoiding the unsatisfactory result.
These moves are compared with the list of moves from the node that
had been generated earlier but that have not yet been tried. The
comparison is used to reorder moves already on the untried list and,
C5c Heuristics in Game Tree Search 107
depending on the state the program is in, to add new moves to the list
and to prune old ones.
Whereas Berliner's program plays the full game of chess, there are
several other recent programs that, in their emphasis on representing
chess knowledge, limit their task to solving problems involving only-
selected aspects of the game. Two of these are the programs by Pitrat
(1977) and Wilkins (1979). In each, the task is to find a line of play
that wins material, beginning from a given middle-game position. The
approach in both programs is to work backward from the goal of
winning material to a structure of subgoals that constitutes a plan (see
Chap. XVI, in Vol. m). Wilkins's program, PARADISE, for example, has
as a main theme the expression of chess concepts, like making a square
safe for a piece or safely capturing a piece, in terms that can be used
as subgoals and eventually reduced to specific moves. Initially, a plan is
based not on search but on an extensive analysis of the originally given
position; it may contain conditional branches depending on general cat-
egories of moves with which the opponent might reply. The general plan
is then used to guide search, generating a very small tree. Moves consid-
ered for the program to make are only those relevant to the current
subgoal; for the simulated opponent, all reasonable defensive moves are
considered. If search shows that the plan has failed, a causality facility
similar to Berliner's is used to analyze the difficulty and suggest a new
plan.
Both the Pitrat and the Wilkins programs have succeeded in solving
problems where the winning line of play goes to a depth of around 20
ply. Pitrat reports, for a set of 11 problems, that search- tree sizes
ranged from about 200 to 22,000 nodes; computation time varied from
under 3 seconds to about 7.5 minutes. Wilkins's PARADISE generates
smaller trees but uses more time; for 89 problems solved, the number of
nodes in the search tree ran from a minimum of 3 to a maximum of
215, and time to find the solution varied from 19 seconds to 33 min-
utes. Wilkins also reports a good success rate compared to previous
programs tested on the same set of problems, including Berliner's
program, Gillogly's TECH, and an earlier version of CHESS 4.5. The
programs other than PARADISE, however, were tested with a time limit
of only 5 minutes per problem.
A final example of the use of chess knowledge to solve a class of
problems is the work of Donald Michie and his colleagues on chess end-
games (e.g., Bratko, Kopec, and Michie, 1978; Michie and Bratko, 1978).
Here each combination of pieces with which the end game may be
played is treated as posing a separate problem. One problem, denoted
KNKR, is to defend with king and knight against king and rook,
108 Search II
starting from any of some 3 million legal positions involving only those
pieces. The objective is to provide the program with enough knowledge
about this specific class of chess problems to achieve theoretically correct
play, even in situations where chess masters sometimes err, and to ac-
complish this with only a moderate amount of search.
The program's knowledge is encoded in a data structure called an
Advice Table, within which patterns occurring on the board may be
described. Each pattern has an associated list of goals, or "pieces of
advice," in the order in which they should be attempted. The object
then becomes to find a solution — in the sense of a solution subtree of
an AND/ OR tree (Article n.C2) — to the problem of satisfying one of the
goals. Unlike a standard AND/OR tree search, however, the "advice"
includes not only a definition of when tip nodes should be considered
terminal but also constraints that every intermediate node in the solu-
tion tree must satisfy.
The amount of search required to find a solution using an Advice
Table depends on how much knowledge the table contains. If the only
goal provided were avoidance of checkmate, a search to the impossible
depth of 85 ply would be needed to find the best defense from some
positions. With the additional advice not to lose the knight and to keep
king and knight together, search to about 10 ply is sufficient. With the
further refinements included in the actual Advice Table, the program is
reported to play the KNKR end game at master level with only a four-
ply search.
References
See Adelson-Velskiy, Arlazarov, and Donskoy (1975), Berliner (1973,
1974, 1977a, 1977b, 1977c, 1978a, 1978b), Bernstein et al. (1959), Bratko,
Kopec, and Michie (1978), Charness (1977), Frey (1977), Gillogly (1972),
Greenblatt, Eastlake, and Crocker (1967), Griffith (1974), Harris (1974,
1975, 1977a), Hearst (1977), Kister et al. (1957), Kotok (1962), Levy
(1979), Michie (1977), Michie and Bratko (1978), Mittman (1977),
Newborn (1975, 1978), Newell, Shaw, and Simon (1963a), Newell and
Simon (1972), Nilsson (1969, 1971), Pitrat (1977), Samuel (1963, 1967),
Shannon (1950), Slagle and Dixon (1969, 1970), Slate and Atkin (1977),
Thorp and Walden (1970), Turing (1953), and Wilkins (1979).
D. SAMPLE SEARCH PROGRAMS
Dl. Logic Theorist
The Logic Theorist (LT) was a program written by Allen Newell,
J. C. Shaw, and H. A. Simon in 1956, as a joint project of the RAND
Corporation and the Carnegie Institute of Technology. It was one of
the earliest programs to investigate the use of heuristics in problem
solving. The term heuristics, as used by Newell, Shaw, and Simon
(1963b, p. 109), referred to "the complex processes . . . that are effec-
tive in problem-solving." They stated,
We are not interested in methods that guarantee solutions, but
which require vast amounts of computation. Rather, we wish to
understand how a mathematician, for example, is able to prove a
theorem even though he does not know when he starts how, or if,
he is going to succeed, (p. 109)
Heuristics were thus identified with processes "that may solve a given
problem, but offer no guarantee of doing so" (p. 114; see also Article
n.A).
In descriptions of the Logic Theorist program, the heuristics dis-
cussed by Newell, Shaw, and Simon relate principally to limiting the
search space by means of an apt problem formulation. Within the
defined space, the search was blind except for some minor selectivity in
the choice of operators (see Article n.C3a).
The problem domain of the Logic Theorist is the proof of theorems
in the propositional calculus (see Article m.Ci). The basis is Whitehead
and Russell's Principia Mathematica, from which both axioms and the-
orems to be proved were taken. There are five axioms, as follows:
1- (p V p) D P
2. p D {qW p)
3. (PV?)D((?V p)
4. [p V (q V r)] D [q V (p V r)]
5. (p D q) D [(f V p) D (r V q)}
Some typical theorems that LT was given to prove include:
110 Search II
2.01. (p D ->p) D --P
2.45. -i(p V (?) D ip
2.31. [p V (g V r)] D [(p V q) V r]
The numbering of the theorems is taken from Whitehead and Russell.
In some cases, the data given the program included not only the axioms
but also previously proved theorems from that work. When all earlier
theorems were included with the axioms, the program succeeded in
proving 38 of the first 52 theorems in Chapter 2 of Principia Mathe-
matical, in the sequence given there.
The program operates by reasoning backward from the theorem to
be established to the axioms and given theorems. Three operators were
provided for reducing the theorem to be proved, let us say X, to an
axiom or theorem. These operators were:
Detachment: To show X, find an axiom or theorem of the form
A D X and transform the problem to the problem of show-
ing A.
Forward chaining: To show X where X has the form A D C, find
an axiom or theorem of the form A D B and transform the
problem to the problem of showing B Z) C.
Backward chaining: To show X where X has the form A Z) C, find
an axiom or theorem of the form B D C and transform the
problem to the problem of showing A D B.
Since the axioms and given theorems contain variables, consideration
must be given to the means for deciding whether a problem has in fact
been reduced to something known. The question is whether a current
problem expression X is an instance of an axiom or known theorem.
The test, called the Substitution Test, uses two rules of inference
distinct from those reflected in the operators:
Substitution: A variable in a theorem may be replaced, in all its
occurrences throughout the theorem, by an expression. For
example, substituting the expression p V Q for the variable p
transforms
V D (q V p)
into
(P V Q) D [q V (p V q)} .
Dl Logic Theorist 111
Replacement: The connective "D" is interchangeable with its defi-
nition. That is, if p and q are expressions, then
V D Q
can be replaced by
-\p V q
and vice versa.
As well as being used to determine whether a proof is complete, the
Substitution Test is also essential for determining what applications of
the three operators are possible with respect to a given problem ex-
pression.
The general algorithm used by the Logic Theorist is a blind,
breadth-first, state-space search using backward reasoning. The initial
state corresponds to the original theorem to be proved. To test
whether an expression has been proved, the program applies the Substi-
tution Test, pairing the problem expression with each axiom and as-
sumed theorem, in turn. If substitution fails, the expression is placed
on a list of open problems; problems are selected from this list to
become the current problem in first-in, first-out order.
To a problem selected from the list, each of the three operators is
applied, in fixed order and in all possible ways, to generate new open
problems. The search terminates with success as soon as a single prob-
lem is generated that passes the substitution test, since this means that
a path has been completed between an axiom and the original problem.
The search fails if it exceeds time or space limits or if it runs out of
open problems.
An example of a case in which the latter occurs is the attempted
proof of the theorem
p or — i — i — i /? .
To succeed with this proof, LT would have needed more powerful op-
erators; this particular problem required the ability, which LT lacked, to
transform a problem to a set of subproblems, or conjunctive subgoals,
that all had to be solved in order to solve the original problem.
There are some qualifications to the preceding general description of
LT. One concerns the statement that each operator is applied to the
current problem in every possible way, that is, that the current problem
expression is matched against every axiom and assumed theorem to
determine the applicability of any of the operators to that expression-
112 Search II
axiom pair. In fact, the program attempted a match for the purpose of
discovering an appropriate substitution only if the pair had passed a
test indicating equality of certain gross features, such as the number of
distinct variables in each. This test for similarity occasionally rejected a
pair for which a substitution in fact would have been possible, thus
excluding a proof the program would otherwise have found. Overall,
the utility of this similarity test was considered rather marginal.
Some other additions, apparently made in a later version of the pro-
gram (see Newell and Simon, 1972, pp. 125-128), included (a) ordering
the open problems, taking up those involving simpler expressions first
instead of proceeding in a strictly breadth-first order, and (b) rejecting
some subproblems entirely as too complicated or apparently unprovable.
In the implementation of these features, the latter appeared to be the
more effective measure in reducing search effort. There was also experi-
mentation, as mentioned previously, with the number of theorems that
could be assumed as given in addition to the basic axioms. The
conclusion on this point was that "a problem solver may be encumbered
by too much information, just as he may be handicapped by too little"
(p. 127).
References
See Newell, Shaw, and Simon (1963b), Newell and Simon (1972), and
Whitehead and Russell (1925).
D2. General Problem Solver
The General Problem Solver (GPS) was developed by Newell, Shaw,
and Simon beginning in 1957. The research had a dual intention: It
was aimed at getting machines to solve problems requiring intelligence
and at developing a theory of how human beings solve such problems.
GPS was the successor of the authors' earlier Logic Theorist program
(Article n.Di), whose methods had only a slight resemblance to those
used by humans working on similar problems. Development of GPS
continued through at least 10 years and numerous versions of the
program. The final version, described in detail in Ernst and Newell
(1969), was concerned with extending the generality of the program, not
with the psychological theory.
The name "General Problem Solver" came from the fact that GPS
was the first problem- solving program to separate its general problem-
solving methods from knowledge specific to the type of task at hand.
That is, the problem- solving part of the system gave no information
about the kind of task being worked on; task-dependent knowledge was
collected in data structures forming a task environment Among the data
structures were objects and operators for transforming the objects. A
task was normally given to GPS as an initial object and a desired ob-
ject, into which the initial object was to be transformed. GPS objects
and operators were similar to the states and operators of a state- space
problem representation (Article n.Bi).
The general problem- solving technique introduced by GPS, however,
does not fit neatly into either the state-space or the problem-reduction
representation formalisms. It differs from a standard state-space search
(e.g., Article n.Ci) in the way it decides what path to try next. This
technique, called means- ends analysis, is a major theoretical contribution
of the program. It assumes that the differences between a current
object and a desired object can be defined and classified into types and
that the operators can be classified according to the kinds of differences
they might reduce. At each stage, GPS selects a single relevant oper-
ator to try to apply to the current object. The search for a successful
operator sequence proceeds depth first as long as the chosen operators
are applicable and the path shows promise. Backup is possible if the
current path becomes unpromising — for example, if eliminating one dif-
ference has introduced a new one that is harder to get rid of.
114 Search E
An important feature of means-ends analysis is that the operator
selected as relevant to reducing a difference may actually be inapplicable
to the current object. Rather than rejecting the operator for this rea-
son, GPS attempts to change the current object into an object appropri-
ate as input to the chosen operator. The result of this strategy is a
recursive, goal-directed program that records the search history in an
AND/OR graph (Article n.B2) with partial development of nodes (Article
H.C3a).
Goals and Methods
The most important data structure used by GPS is the goal. The
goal is an encoding of the current situation (an object or list of ob-
jects), the desired situation, and a history of the attempts so far to
change the current situation into the desired one. Three main types of
goals are provided:
1. Transform object A into object B.
2. Reduce a difference between object A and object B by modifying
object A.
3. Apply operator Q to object A.
Associated with the goal types are methods, or procedures, for achieving
them. These methods, shown in a simplified version in Figure D2-1, can
be understood as problem-reduction operators that give rise either to
AND nodes, in the case of transform or apply, or to OR nodes, in the
case of a reduce goal.
The initial task presented to GPS is represented as a transform goal,
in which A is the initial object and B the desired object. The recursion
stops if the goal is primitive — that is, for a transform goal, if there is
no difference between A and B, and for an apply goal, if the operator Q
is immediately applicable. For a reduce goal, the recursion may stop,
with failure, when all relevant operators have been tried and have
failed.
D2
General Problem Solver
115
TRANSFORM
A TO B
REDUCE DIFFERENCE
BETWEEN A AND B,
GIVING OUTPUT A;
TRANSFORM
A' TO B
REDUCE DIFFERENCE
BETWEEN A AND B
SELECT A RELEVANT OPERATOR Q
AND APPLY IT TO A,
GIVING OUTPUT A
APPLY OPERATOR Q TO A
REDUCE DIFFERENCE
BETWEEN A AND THE
PRECONDITIONS FOR Q,
GIVING OUTPUT A
//
APPLY q TO A" ,
GIVING OUTPUT A
Figure D2-1. The three GPS methods for problem reduction.
Selection of Operators
In trying to transform object A into object B, the transform method
uses a matching process to discover the differences between the two ob-
jects. The possible types of differences are predefined and ordered by
estimated difficulty, for each kind of task. The most difficult difference
found is the one chosen for reduction. A domain-dependent data struc-
ture called the Table of Connections lists the operators relevant to
reducing each difference type.
Depth Bounds
Several heuristics are provided to prevent GPS from following a false
path indefinitely. Some of the bases for determining whether a current
goal should be abandoned, at least temporarily, are the following:
1. Each goal should be easier than its parent goal.
2. Of a pair of AND nodes representing subgoals generated by
transform or apply, the second subgoal attempted should be
easier than the first.
116 Search II
3. A newly generated object should not be much larger than the
objects occurring in the topmost goal.
4. Once a goal has been generated, the identical goal should not
be generated again.
An Example
The first task environment to which GPS was applied was the do-
main of the Logic Theorist: proving theorems in the propositional cal-
culus. The initial and desired objects were expressions, one to be
transformed into the other by means of operators representing rules of
inference. There were 12 operators altogether, including the following
rules. (An arrow means that the expression may be rewritten in the
direction of the arrow head.)
Rule 1. Ay B -^ By A
A A B -> BAA
Rule 5. Ay B ^ -.(-nA A ->£)
Rule 6. A D B <-> -A V B
Six possible difference types were recognized:
1. occurrence of a variable in one expression but not the other,
2. occurrence of a variable a different number of times in the two
expressions,
3. difference in sign,
4. difference in binary connective,
5. difference in grouping, and
6. difference in position of components.
The list just given is in decreasing order of assumed difficulty. Every
difference between main expressions, however, was considered more dif-
ficult than any difference between subexpressions.
With this background, a trace (slightly simplified) of GPS's perfor-
mance on a simple example can be given. The problem is to transform
the initial expression
R A ipP D Q) ,
denoted L1? into the desired expression
(Q y P) A R ,
denoted L0. The trace is shown below.
D2 General Problem Solver 117
Goal 1: Transform Lj into L0.
Goal 2: Reduce positional difference between Lj and L0-
Goal 3: Apply Rule 1 to L±.
Return L2: ( ->P D Q) A R
Goal 4: Transform L2 into L0.
Goal 5: Reduce difference in connective between
left subexpressions of L2 and L0.
Goal 6: Apply Rule 5 to left part of L2.
Goal 7: Reduce difference in connective
between left part of L2 and
precondition for Rule 5.
Reject goal 7 as no easier than goal 5.
Goal 8: Apply Rule 6 to left part of L2.
Return L3: (P V Q) A R
Goal 9: Transform L3 into L0.
Goal 10: Reduce positional difference
between left parts of L3 and L0.
Goal 11: Apply Rule 1 to left part of L3.
Return L4: (Q V P) A #
Goal 12: Transform L4 to L0.
No difference exists, so problem is solved.
The Problem of Generality
GPS was intended to model generality in problem solving through
use of the broadly applicable techniques of heuristic search, and the
strategy of means-ends analysis in particular. The implementation of
these techniques was dependent on the internal representation of objects
and operators. These representations, in early versions of GPS, were
nicely suited to logic tasks like the example above. But they were
inadequate for many other kinds of heuristic search problems. Before
Ernst's extensions to the program (Ernst and Newell, 1969), GPS had in
fact solved only two problems outside the logic domain.
The object of Ernst's work was to extend the number of kinds of
problems that GPS could handle while holding its power at a constant
118 Search II
level. One of his generalizations was in the representation of objects.
Earlier, a desired object had had to be specified by giving its exact
form. Forms containing variables and lists of forms could be used if
necessary. But these, too, were inadequate for representing symbolic
integration problems, in which the desired object is any form whatever
that does not contain an integral sign. Hence, the description of a de-
sired object by a list of constraints was introduced.
Another change was in the representation of operators, originally
specified by giving the form of the input object and the form of the re-
sulting output object. For some kinds of problems, it was desirable to
have other tests of applicability besides the form of the input object
and to be able to describe the output object as a function of the input.
A third change allowed GPS to deal with unordered sets of symbols,
eliminating the need for special operators to permute their elements.
The generalized program succeeded in solving problems of 11 dif-
ferent kinds, including symbolic integration, resolution theorem proving,
and a variety of puzzles. Each generalization, however, entailed changes
in the ways the problem representations could be processed, and these
led in turn to deterioriation with respect to the kinds of differences that
could be detected. The only representable differences became "local"
ones. An example of a global difference, which GPS could no longer
recognize, was the total number of times a variable occurred in a logic
formula. Consequently, theorem proving in the propositional calculus
was not among the 11 tasks that the final version of GPS could do.
In the task domains in which GPS did succeed, it could solve onlv
simple problems; and those, less efficiently than special-purpose problem
solvers. If a long search was required, it ran out of memory space, and
even easy problems, if they needed objects as complex as a chess
position, quickly exhausted memory on a machine with 65K words. But
GPS was not expected to be a performance program. What it yielded,
in its authors' view, was "a series of lessons that give a more perfect
view of the nature of problem solving and what is required to construct
processes that accomplish it" (Ernst and Newell, 1969, p. 2). Although
additional generalizations, such as game playing, were considered feasible,
the authors concluded that GPS needed no further programming ac-
cretions and recommended that it be laid to rest.
References
See Ernst and Newell (1969), Newell and Ernst (1965), Newell,
Shaw, and Simon (1960), and Newell and Simon (1963, 1972).
D3. Gelernter's Geometry Theorem-proving Machine
Herbert Gelernter's geometry theorem-proving machine was a pro-
gram written in 1959 at the IBM Research Center in New York. The
program was written in an extended FORTRAN, the FORTRAN List
Processing Language, and implemented on an IBM 704 computer. The
purpose of the program was to solve problems taken from high-school
textbooks and final examinations in plane geometry. As with Newell,
Shaw, and Simon's Logic Theorist, which proved theorems in the prop-
ositional calculus, the fact that there were algorithms for solving prob-
lems in these domains was considered irrelevant, since the object was to
explore the use of heuristic methods in problem solving.
The formal system within which the geometry program worked con-
tained axioms on parallel lines, congruence, and equality of segments
and angles. This set of axioms, which was not meant to be either com-
plete or nonredundant, was along the lines of an elementary textbook.
The axioms played the role of problem-reduction operators. Some ex-
amples are:
1. In order to show that two line segments are equal, show that
they are corresponding elements of congruent triangles;
2. In order to show that two angles are equal, show that they are
both right angles;
3. In order to show that two triangles are congruent, show the
equality of a side and two angles in corresponding positions or
of an angle and two sides.
The operators for establishing congruence split the problem into three
subproblems, each to be solved separately by showing equality for one
pair of elements. Newell and Simon (1972, p. 138) indicate that the
geometry machine was the first program that was able to handle con-
junctive subgoals. The program works backward from the theorem to be
proved, recording its progress in what amounted to an AND/OR tree
(Article n.B2).
Some examples of problems solved by the program were the fol-
lowing:
1. Given that angle ABD equals angle DBC, that segment AD is
perpendicular to segment AB, and that segment DC is perpendicular to
segment BC, show that AD equals CD. (See Fig. D3-1.)
120 Search II
Figure D3-1. Diagram for problem 1.
2. Given that ABCD is a quadrilateral, with segment EC parallel to
segment AD and with BC equal to AD, show that segment AB equals
segment CD. (See Fig. D3-2.)
Figure D3-2. Diagram for problem 2.
A problem was given to the program in the form of a statement
describing the premises and the goal. A proof was a sequence of state-
ments giving the reduction of the goal to trivial goals — ordinarily, goals
to establish an already established formula. One feature used to reduce
the search effort needed to find a proof was the recognition of syntactic
symmetry. Some examples of symmetric pairs of goals are the following:
1. If d(x, y) is the distance from point x to point y, then
d{A,B) = d(C,D) is symmetric with d{D, C) = d(A,B).
2. If ABCD is a parallelogram and point E is the intersection of its
diagonals AC and BD, then d (A, E ) = d (E, C ) is symmetric
with d(B,E) = d{E,D).
The recognition of symmetry was used in two ways. First, if a given
goal was ever reduced to a subgoal symmetric with it, the subgoal could
be rejected as representing circular reasoning. Second, if parallel goals
A and B were syntactically symmetric and goal A had been established,
then goal B could be established by symmetry — in effect by saying, for
the second half of the proof, "Similarly, B.n
D3 Gelernter's Geometry Theorem-proving Machine 121
The most notable feature of the program, however, was an addi-
tional part of the problem statement used to avoid attempting proofs by
blind syntactic manipulation alone. This input was a diagram, similar
to Figures D3-1 and D3-2 (although specified by lists of coordinates), of
the points and line segments mentioned in the theorem. The particular
input figure was chosen to avoid spurious coincidences and reflect the
greatest possible generality. Whenever a subgoal was generated, it was
checked for consistency with the diagram. If false in the diagram, the
subgoal could not possibly be a theorem and therefore could be pruned
from the search tree. A slight qualification is that finite precision arith-
metic, applied to the diagram, occasionally caused a provable subgoal to
be pruned erroneously; but it was reported that the program had found
other paths to the solution in such cases. It was estimated that the use
of a diagram, together with the discard of subgoals representing circular
reasoning, eliminated about 995 out of every 1,000 subgoals.
The diagram also served a second purpose: It provided an addi-
tional criterion by which a problem could be considered primitive. For
example, a rigorous proof of the theorem in problem 1 would require
showing that DB is a line segment and that BCD and BAD are triangles.
The axioms needed would have been (a) if X and Y are distinct points,
then XY is a line segment, and (b) if X, Y, and Z are three distinct
noncollinear points, then XYZ is a triangle. For a limited class of such
properties, the program did not require formal proof but rather
considered them established if they were true in the diagram. It
recorded explicitly the assumptions that had been made based on the
diagram.
The central loop of the program repeatedly selected the next goal to
try. Two heuristics were included for goal selection. One gave highest
priority to classes of goals, such as identities, that could usually be
established in one step. The second assigned a "distance" between the
goal statement and the set of premise statements; after the one-step
goals had been developed, the remaining goals were selected in order of
increasing distance from the premise set.
Once a goal was chosen for development, the action taken depended
on its status. Ordinarily, it would be reduced to subgoals, and the
subgoals, if consistent with the diagram but not sufficient to establish
the current goal immediately, would be added to the list of goals to try.
If no new acceptable subgoals were generated, the program checked
whether a construction was possible — a construction being the addition
to the premises of the problem of a line segment between two existing
122 Search II
but previously unconnected points. The new segment would be ex-
tended to its intersections with other segments in the figure. New
points could be added to the premises only if generated by such inter-
sections.
A goal for which a construction was found possible was saved — to
be tried again later if all goals not requiring construction should be ex-
hausted. If the goal was later selected for a second try, a construction
would be made and the problem started over with an expanded premise
set. An example of the use of this technique occurs in problem 2,
where in considering the goal AB = CD, the program generated a
subgoal of showing that triangles ABD and CDB were congruent. The
subgoal makes sense only if a line segment BD exists, so the segment is
constructed, and the proof eventually succeeds.
References
See Elcock (1977), Gelernter (1959, 1963), Gelernter, Hansen, and
Gerberich (1960), Gelernter, Hansen, and Loveland (1963), Gelernter and
Rochester (1958), and Gilmore (1970).
D4. Symbolic Integration Programs
Slagle's SAINT
James Slagle's SAINT program (Symbolic Automatic INTegrator) was
written as a 1961 doctoral dissertation at M.I.T. The program solves
elementary symbolic integration problems — mainly indefinite integration —
at about the level of a good college freshman. SAINT was written in
LISP and run interpretively on the IBM 7090 computer.
The kinds of questions Slagle intended his thesis to address were
some of the earliest questions for AI. They included, for example, "Can
a computer recognize the kinds of patterns that occur in symbolic ex-
pressions? Just how important is pattern recognition? . . . Can intelli-
gent problem solving behavior really be manifested by a machine?"
(Slagle, 1961, p. 9). The domain of symbolic integration was chosen as
a source of well-defined, familiar, but nontrivial problems requiring the
manipulation of symbolic rather than numerical expressions.
The integration problems that SAINT could handle could have only
elementary functions as integrands. These functions were defined recur-
sively to comprise the following:
1. Constant functions;
2. The identity function;
3. Sum, product, and power of elementary functions;
4. Trigonometric, logarithmic, and inverse trigonometric functions
of elementary functions.
Three kinds of operations on an integrand were available:
1. Recognize the integrand as an instance of a standard form, thus
obtaining the result immediately by substitution. Twenty-six
such standard forms were used. A typical one indicated that if
the integrand has the form cv dv, the form of the solution is
(cv)/(ln c).
2. Apply an "algorithm- like transformation" to the integral — that is,
a transformation that is almost guaranteed to be helpful when-
ever it can be applied. Eight such transformations were pro-
vided, including (a) factoring out a constant and (b) decompos-
ing the integral of a sum into a sum of integrals.
3. Apply a "heuristic transformation" — that is, a transformation
carrying significant risk such that, although applicable, it might
not be the best next step. The 10 heuristic transformations
124 Search II
included certain substitutions and the technique of integration
by parts. One technique that was not implemented was the
method of partial fractions.
The program starts with the original problem as a goal, specified as
an integrand and a variable of integration. For any particular goal, the
strategy is first to try for an immediate solution by substitution into a
standard form; failing that, to transform it by any applicable algorithm-
like transformation; and, finally, to apply each applicable heuristic trans-
formation in turn. Both the algorithm-like and the heuristic transfor-
mations, however, generate new goals, to which the same strategy may
be applied. The result is an AND/OR graph of goals (Article n.B2).
The order in which goals are pursued by SAINT depends heavily on
what operations can be applied to them. At the level of heuristic trans-
formations, the algorithm is an ordered search: A list, called the Heu-
ristic Goal List, keeps track of goals on which progress can be made
only by applying heuristic transformations — that is, integrands that are
not of standard form nor amenable to any algorithm-like transformation.
To each goal on this list is attached an estimate of the difficulty of
achieving it. The measure of difficulty used is the maximum level of
function composition in the integrand. Other characteristics of the goal,
such as whether it is a rational function, an algebraic function, a
rational function of sines and cosines, and the like, are also stored as an
aid to determining which heuristic transformations will in fact apply.
The outer loop of the program repeatedly selects the goal that looks the
easiest from the Heuristic Goal List, expands it by applying all
applicable heuristic transformations, and possibly, as a result of the
expansion, adds new elements to the Heuristic Goal List. The program
terminates with failure if it runs out of heuristic goals to work on or if
it exceeds a preset amount of working space.
An important qualification to this process concerns the use of stan-
dard forms and algorithm-like transformations. As soon as any new goal
is generated (or the original goal read in), an immediate solution of it is
attempted. The attempt consists of, first, checking whether the integrand
is a standard form; if it is not, checking whether an algorithm-like
transformation applies; and if one does, applying it and calling the
immediate solution procedure recursively on each goal resulting from
that transformation. When the recursion terminates, either the generated
goal has been achieved or there is a set of goals — the generated goal
itself or some of its subgoals — to be added to the Heuristic Goal List.
During expansion of a node (one iteration of the outer loop), new
heuristic goals are accumulated in a temporary goal list; only after
D4 Symbolic Integration Programs 125
expansion is complete are their characteristics computed and the addi-
tions made to the Heuristic Goal List.
Whenever a goal is achieved, the implications of its achievement are
immediately checked. If it is the original goal, the program terminates
successfully. Otherwise, if it was achieved by substitution into a stan-
dard form, it may cause the achievement of one or more parent goals as
well. If it was achieved by solution of a sufficient number of its sub-
problems, it not only may cause its parent or parents to be achieved in
turn, but also may make others of its subproblems, which have not yet
been solved, superfluous. These checks are implemented in a recursive
process, referred to as "pruning the goal tree," that is initiated as soon
as any goal is achieved. Thus a heuristic goal can be achieved without
having been fully expanded.
Moses's SIN
A second important symbolic integration program, SIN (Symbolic
INtegrator), was written by Joel Moses in 1967, also as a doctoral
dissertation at M.I.T. Its motivation and its strategy as an AI effort
were quite different from those of SAINT. Whereas Slagle had compared
the behavior of SAINT to that of freshman calculus students, Moses
aimed at behavior comparable to expert human performance. He viewed
SAINT as emphasizing generality in that it examined mechanisms, like
heuristic search, that are useful in many diverse problem domains. SIN,
in contrast, was to emphasize expertise in a particular, complex domain.
To do this, it concentrated on problem analysis, using more knowledge
about integration than SAINT had employed, to minimize the need for
search. In fact, Moses did not view SIN as a heuristic search program.
Hence, the program will be described only briefly here, and a sec-
ond part of Moses's dissertation — a differential equation solver called
SOLDIER— will not be described.
SIN worked in three stages, each stage capable of solving harder
problems than the stage before. Stage 1 corresponded roughly to Slagle 's
immediate solution procedure but was more powerful. It used a table of
standard forms, two of Slagle's algorithm-like transformations, and, most
importantly, a method similar to one of Slagle's heuristic transforma-
tions, referred to as the derivative-divides method. The idea behind this
grouping of methods was that they alone would be sufficient to solve
the most commonly occurring problems, without invoking the compu-
tationally more expensive machinery of the later stages.
A problem that stage 1 could not solve was passed on to stage 2.
This stage consisted of a central routine, called FORM, and 11 highly
126 Search II
specific methods of integration. (One of these methods was a program
for integrating rational functions that had been written by Manove,
Bloom, and Engelman, of the MITRE Corporation, in 1964.) In general,
the task of FORM was to form a hypothesis, usually based on local
clues in the integrand, about which method, if any, was applicable to
the problem. Only rarely did more than one method apply. The
routine chosen first tried to verify its applicability; if it could not, it
returned to let FORM try again. If the routine did verify the hypoth-
esis, however, SIN then became committed to solving the problem by
that method or not at all. The method chosen either solved the prob-
lem using mechanisms internal to it or transformed the problem and
called SIN recursively to solve the transformed problem.
Stage 3 of SIN was invoked, as a last resort, only if no stage 2
method was applicable. Two general methods were programmed here.
One method was integration by parts, which used blind search, subject
to certain constraints, to find the appropriate way to factor the
integrand. The other was a nontraditional method based on the
Liouviile theory of integration and called the EDGE (EDucated GuEss)
heuristic. This method involved guessing the form of the integral. The
EDGE heuristic was characterized as using a technique similar to means-
ends analysis, if its guess did not lead directly to a solution.
Performance of SAINT and SIN
SAINT was tested on a total of 86 problems, 54 of them chosen
from M.I.T. final examinations in freshman calculus. It succeeded in
solving all but two. The most difficult problem it solved, in terms of
both time and the number of heuristic transformations occurring in the
solution tree (four), was the integral of
sec2£
l + (sec2£) — 3(tani)
dt
Slagle proposed additional transformations that would have handled the
two failures, which were the integrals of
x(l + x)1/2 dx and cos (x1/2) dx .
SIN, in contrast, was intended to model the behavior of an expert
human integrator. The results of running SIN on all of Slagle's test
problems were that more than half were solved in stage 1, and all but
two of the rest (both of which used integration by parts) were solved in
stage 2. After adjusting for the facts that SAINT and SIN ran on
different machines and that one was interpreted and the other compiled,
D4 Symbolic Integration Programs 127
and for other factors making the programs difficult to compare, Moses
estimated that SIN would run on the average about three times faster
than SAINT. Taking into account a test on more difficult problems as
well, he expressed the opinion that SIN was "capable of solving inte-
gration problems as difficult as ones found in the largest tables" (p. 140)
and that it was fast and powerful enough for use in "a practical on-line
algebraic manipulation system" (p. 6). For later developments in this
direction, see Article vn.Di, in Volume n.
References
See Manove, Bloom, and Engelman (1968), Moses (1967), and Slagle
(1961, 1963).
D5. STRIPS
STRIPS is a problem- solving program written by Richard Fikes and
Nils Nilsson (1971) at SRI International. Each problem for STRIPS is a
goal to be achieved by a robot operating in a simple world of rooms,
doors, and boxes. The solution is a sequence of operators, called a plan,
for achieving the goal. (For a review of the various senses of the word
plan, see Chap, xvi, in Vol. EL) The robot's actual execution of the
plan is carried out by a separate program, distinct from STRIPS. A
later (1972) addition to the basic STRIPS system permits plans to be
generalized and used again, giving the system some capacity for
learning.
The Basic STRIPS System
The world model. The world in which the STRIPS robot works
consists of several rooms connected by doors, along with some boxes and
other objects that the robot can manipulate. STRIPS represents this
world by a set of well-formed formulas in the first-order predicate cal-
culus (see Article m.Ci). Some formulas in the world model are static
facts, such as which objects are pushable and which rooms are con-
nected. Other facts, such as the current location of objects, must be
changed to reflect the actions of the robot.
Operators. The actions available to the robot for affecting the
world are described, for the purpose of finding a plan of action, by
operators. Typical operators describe actions of going somewhere and
pushing an object somewhere, the locations being given as parameters.
Each operator has preconditions to its applicability; to push a box, for
example, the robot must first be next to the box. The application of
an operator is realized by making changes in the world model. The
appropriate changes are given by a delete list and an add list, specifying
the formulas to be removed from and added to the world model as a
result of the operation. Thus, each operator explicitly describes what it
changes in the world model.
A typical operator is GOTOB, which denotes the robot's going up to
an object in the same room:
GOTOB (bx) "go to object bx"
Preconditions: TYPE (bx, OBJECT) and
THERE EXISTS (rx) such that
[INROON (bx, rx) and IMROON (ROBOT, rx)]
Delete list: AT (ROBOT, *, *) , MEXTTO (ROBOT, *)
Add list: NEXTTO (ROBOT, bx)
D5 STRIPS 129
The precondition statement requires that bx be an object and that both
bx and the robot be in the same room, rx. The asterisks in the delete
list represent arguments with any values whatever.
Method of operation. STRIPS operates by searching a space of
world models to find one in which the given goal is achieved. It uses a
state-space representation in which each state is a pair (world model,
list of goals to be achieved). The initial state is (M0, (G0)), where M0
is the initial world model and G0 the given goal. A terminal state
gives a world model in which no unsatisfied goals remain.
Given a goal G (stated as a formula in the predicate calculus),
STRIPS first tries to prove that G is satisfied by the current world
model. To do this, the program uses a modified version of the
resolution-based theorem prover QA3 (Garvey and Kling, 1969). Typ-
ically the proof fails, within a prespecified resource limit, because no
more resolvents can be formed (see Article xn.B, in Vol. m). At this
point, STRIPS needs to find a different world model that the robot can
achieve and that satisfies the goal. Because this task is complicated for
a simple theorem prover, the system switches to a means- ends analysis
similar to that of GPS (Article n.D2).
To do the means-ends analysis, the program extracts a difference
between the goal and the current model and selects a relevant operator
to reduce the difference. The difference consists of any formulas from
the goal that remain outstanding when the proof attempt is abandoned
(pruned, if this set is large). A relevant operator is one whose add list
contains formulas that would remove some part of the difference, there-
by allowing the proof to continue.
If the operator is applicable, the program applies it and tries to
achieve the goal in the resulting model; otherwise, the operator's pre-
condition becomes a new subgoal to be achieved. Since there may be
several relevant operators at each step, this procedure generates a tree
of models and subgoals. STRIPS uses a number of heuristics to control
the search through this tree.
An Example of the Basic System's Performance
As a simple example, suppose the robot is in ROOM1 and the goal
is for it to be next to BOX1, which is in adjacent ROOM2. The initial
world model M0 contains such clauses as
130 Search II
INR00N (ROBOT, ROONl) ,
INROON (BOXl, R00N2),
TYPE (B0X1, OBJECT),
CONNECTS (D00R12, ROONl , R00N2)
STATUS (D00R12, OPEN), . . .
and the goal Gq is
GO = NEXTTO (ROBOT, BOXl)
Gq is not satisfied, and the difference between it and the initial model is
-i NEXTTO (ROBOT, BOXl). STRIPS determines that GOTOB (6x), defined
above, is a relevant operator, with bx instantiated as BOXl. The oper-
ator instance GOTOB (BOXl), denoted OPlf is not immediately appli-
cable (because the robot is in the wrong room), so its precondition G1?
Gl = TYPE (BOXl, OBJECT) and
THERE EXISTS (rx) [INROON (BOXl, rx) and INROON (ROBOT, rx)]
becomes a new subgoal. Relevant operators for reducing the differ-
ence between G1 and the initial model M0 are: OP2 = GOTHRUDOOR
(dx, ROOM2) and OP3 = PUSHTHRUDOOR (BOXl, dx, ROOMl) (i.e., move
the robot to the room with the box, or move the box to the room with
the robot). If the former course (the better one, obviously) is selected,
the precondition
G2 = STATUS (dx, OPEN) and NEXTTO (ROBOT, dx) and
THERE EXISTS (rx) [INROON (ROBOT, rx) and CONNECTS (dx, rx, R00N2)]
is the new subgoal. The difference -> NEXTTO (ROBOT, DOOR12) can
be reduced by the operator OP4 = GOTODOOR (DOOR12), which is
applicable immediately. Applying 0P4 adds the clause NEXTTO
(ROBOT, DOOR12) to the model, creating a new world model Mv G2 is
now satisfied with dx = DOOR12, so OP2 can be instantiated as
GOTHRUDOOR (DOOR12, ROOM2) and applied. This deletes the clause
INROOM (ROBOT, ROOMl) and adds INROOM (ROBOT, ROOM2). Gx is
now satisfied, so OPx is applied, deleting NEXTTO (ROBOT, DOOR12)
and adding NEXTTO (ROBOT, BOXl), the desired goal. The final plan
is thus:
0P4
0P2
0P1
GOTODOOR (D00R12)
GOTHRUDOOR (D00R12, R00N2)
GOTOB (BOXl)
D5 STRIPS 131
The corresponding solution path through the state space tree is as
follows:
(NO, (GO))
(MO, (Gl, GO))
(NO, (G2, Gl, GO))
0P4
(Ml, (Gl, GO))
0P2
(MB, 0)
Generalization of Plans
In the basic STRIPS system, each new problem was solved from
scratch. Even if the system had produced a plan for solving a similar
problem previously, it was not able to make any use of this fact. A
later version of STRIPS provided for generalizing plans and saving them,
to assist both in the solution of subsequent problems and also in the
intelligent monitoring of the robot's execution of the particular plan.
Triangle tables. A specific plan to be generalized, say, {0PV 0P2,
. . ., 0Pn), is first stored in a data structure called a triangle table.
This is a lower triangular array representing the preconditions for and
effects of each operator in the plan. Some of its properties are the
following:
1. Cell (i, 0) contains clauses from the original model that are still
true when operator i is to be applied and that are precondi-
tions for operator i, OPy
2. Marked (starred) clauses elsewhere in row i are preconditions
for operator i added to the model by previous operators.
3. The effects of applying operator i are shown in row • + 1.
The operator's add list appears in cell (t -+- 1, i). For each
132
Search
n
previous operator, say, operator j, clauses added by operator ;
and not yet deleted are copied into cell (i + 1> j)-
4. The add list for a sequence of operators 1 through i, taken as a
whole, is given by the clauses in row i-f 1 (excluding col-
umn 0).
5. The preconditions for a sequence of operators i through n, taken
as a whole, are given by the marked clauses in the rectangular
subarray containing row i and cell (n + 1, 0). This rectangle
is called the i-th kernel of the plan.
The triangle table for the previous example is shown in Figure D5-1.
Operators have been renumbered in the order of their use.
♦INR00N(R0B0T,
ROONl)
♦CONNECTS (D12,
ROONl , R00N2)
OPl
G0T0D00R(D12)
♦INR00N(R0B0T,
ROONl)
♦CONNECTS (D12,
ROONl , R00N2)
♦STATUS (D12,
OPEN)
♦NEXTTO
(ROBOT, D12)
0P2
G0THRUD00R
(D12,R00N2)
♦INR00N(B0X1,
R00N2)
♦TYPE(B0X1,
OBJECT)
NEXTTO
(ROBOT, D12)
♦INR00N
(ROBOT, R00N2)
0P3
GOTOB(BOXl)
INR00N
(ROBOT ;R00N2)
NEXTTO
(ROBOT ,B0X1)
Figure D5-1. A triangle table.
Method of generalization. The plan is generalized by replacing all
constants in each of the clauses in column 0 by distinct parameters and
the rest of the table with clauses that assume that no argument to an
operator has been instantiated. The result may be too general, so the
proof of the preconditions for each operator is run again, noting any
substitutions for parameters that constrain the generality of the plan.
Some further corrections are made for remaining overgeneralization,
D5 STRIPS 133
which might make the plan either inconsistent or inefficient in use.
Finally, the generalized plan, termed a MACROP, is stored away for
future use.
In the example above, the generalized plan would be
G0T0D00R (dx)
G0THRUD00R (dx, rxl)
GOTOB (bx)
with preconditions:
and add list:
INROON (ROBOT, rx2)
CONNECTS (dx, rx2, rxl)
STATUS (dx, OPEN)
INROON (bx, rxl)
TYPE (bx, OBJECT)
NEXTTO (ROBOT, bx)
INROON (ROBOT, rxl)
That is, the generalized plan sends the robot from any room through a
connecting door to an object in the adjacent room.
Using the MACROP to guide execution. When STRIPS produces a
detailed plan to achieve a goal, it does not necessarily follow that the
robot should execute the plan exactly as given. One possibility is that
some action fails to achieve its expected effect, so that the corre-
sponding step of the plan needs to be repeated. Another is that the
plan found is less than optimal and would be improved by omitting
some steps entirely. The necessary flexibility during execution is pro-
vided by using the MACROP rather than the detailed plan in monitor-
ing the robot's actions.
At the beginning of execution, the parameters of the MACROP are
partially instantiated to the case at hand. The robot then attempts, at
each stage, to execute the highest numbered step of the plan whose
preconditions are satisfied. This procedure omits unnecessary steps and
allows repeated execution, possibly with changed parameters, of a step
that has failed. If there is no step whose preconditions are satisfied,
replanning occurs. Determining which step can be done next is accom-
plished by a scan that exploits the design of the triangle table.
Using MACROPs in planning. When STRIPS is given a new prob-
lem, the time it takes to produce an answer can be reduced very
considerably if there is a MACROP that can be incorporated into its
solution. The MACROP given above, for example, could be used as the
first part of a plan to fetch a box from an adjacent room. The part of
134 Search n
the MACROP consisting of its first two suboperators, if used alone,
would also give a ready-made solution to the problem "Go to an
adjacent room," or it could be used repeatedly in solving "Go to a
distant room."
The triangle table provides the means of determining whether a
relevant macro operator exists. To determine whether the sequence of
operators 1 through i of the MACROP is relevant, STRIPS checks the
add list of this sequence as given by the (i + l)st row of the table.
Once a MACROP is selected, irrelevant operators are edited out by a
straightforward algorithm, leaving an economical, possibly parameterized
operator for achieving the desired add list. The operator's preconditions
are taken from the appropriate cells of column 0. Thus, almost any
sub- sequence of operators from a MACROP can become a macro oper-
ator in a new plan. To keep new MACROPs from producing an over-
whelming number of different operators that must be considered during
planning, the system contains provisions for preventing consideration of
redundant parts of overlapping MACROPs and for deleting MACROPs
that have been completely subsumed by new ones.
In a sequence of problems given to STRIPS, the use of MACROPs in
some cases reduced planning time by as much as two-thirds. The
longest plan so formed, consisting of 11 primitive operations, took the
robot from one room to a second room, opened a door leading to a
third room, took the robot through the third room to a fourth room,
and then pushed two pairs of boxes together. One drawback noted by
the authors was that, however long the solution sequence, STRIPS at
each stage of its search dealt with every operation in complete detail.
A later program, Sacerdoti's ABSTRIPS (Article n.D6), provides the
mechanism for deferring the details of the solution until after its main
outline has been completed.
References
See Fikes, Hart, and Nilsson (1972), Fikes and Nilsson (1971), and
Garvey and Kling (1969).
D6. ABSTRIPS
A combinatorial explosion faces all problem solvers that attempt to
use heuristic search in a sufficiently complex problem domain. A tech-
nique called hierarchical search or hierarchical planning, implemented in
Earl Sacerdoti's ABSTRIPS (1974), is an attempt to reduce the combina-
torial problem. The idea is to use an approach to problem solving that
can recognize the most significant features of a problem, develop an
outline of a solution in terms of those features, and deal with the less
important details of the problem only after the outline has proved
adequate.
The implementation of this approach involves using distinct levels of
problem representation. A simplified version of the problem, from which
details have been omitted, occurs in a higher level problem space or
abstraction space; the detailed version, in a ground space. By a slight
extension, providing for several levels of detail instead of just two, a
hierarchy of problem spaces is obtained. In general, each space in the
hierarchy serves both as an abstraction space for the more detailed
space just below it and as a ground space with respect to the less
detailed space just above.
Background— The STRIPS System
ABSTRIPS is a modification of the STRIPS system, described in
Article n.D5. The problem domain for both programs is a world of robot
planning. In both, the program is given an initial state of the world, or
world model, consisting of a set of formulas that describe the floor plan
of a group of rooms and other facts such as the location of the robot
and other objects within these rooms. The goal state to be achieved is
also given. The elements of a solution sequence are operators represent-
ing robot actions; examples are operators for going up to an object,
pushing an object, and going through a door. The definition of each
operator contains three kinds of formulas: (a) its preconditions,
representing statements that must be true of a world model in order for
the operator to be applicable; (b) its add list, a list of formulas that
will become true and should be added to the world model when the
operator is applied; and (c) its delete list, a corresponding list of
formulas to be deleted from the model upon application of the operator.
The search for a sequence of operators producing the desired world
model is guided by a means- ends analysis similar to that of GPS
(Article n.D2).
136 Search II
Abstraction Spaces
Given the world models and operator descriptions of the basic
STRIPS system, the first question is how to define the "details" that are
to be ignored in the first pass at a solution. Sacerdoti's answer was to
treat as details certain parts of the operator preconditions. At all levels
of abstraction, the world models and the add and delete lists of
operators remain exactly the same. Such a definition of "details" was
found to be strong enough to produce real improvements in problem-
solving efficiency, while keeping a desirable simplicity in the relationship
between each abstraction space and its adjacent ground space.
The preconditions for an operator are stated as a list of predica-
tions, or literals, concerning the world model to which the operator is to
be applied. The relative importance of literals is indicated by attaching
to each a number called its criticality value. The hierarchy of problem
spaces is then defined in terms of levels of criticality: In the space of
criticality n, all operator preconditions with criticality less than n are
ignored.
The assignment of criticality values is done just once for a given
definition of the problem domain. The general ideas to be reflected in
the assignment are the following:
1. If the truth value of a literal cannot be changed by any oper-
ator in the problem domain, it should have the highest criti-
cality.
2. If the preconditions for an operator include a literal L that can
be readily achieved once other preconditions for the same oper-
ator are satisfied, then L should be less critical than those other
preconditions.
3. If the possibility of satisfying literal L depends on additional
preconditions besides those referred to in (2), then L should
have high but less than maximum criticality.
The actual assignment of criticalities is done by a combination of
manual and automatic means. First, the programmer supplies a partial
ordering of all predicates that can appear in operator preconditions.
The partial ordering serves two purposes: It supplies a tentative criti-
cality value for all instances of each predicate, and it governs the order
in which the program will consider literals for possible increases (but not
decreases) in criticality.
As an example, consider an operator TURN-ON-LAMP (x), with pre-
conditions
TYPE (x, LAMP) and THERE EXISTS (r) [INROOM (ROBOT, r) and
INROON (x, r) and PLUGGED-IN (x) and MEXTTO (ROBOT, x)] .
D6 ABSTRIPS 137
The partial ordering of predicates, reflecting an intuitive view of their
relative importance, might be as follows (Fig. D6-1):
Predicate Rank
TYPE 4
INROOM 3
PLUGGED-IN 2
NEXTTO 1
Figure D6-1. Initial ranking of predicates.
The assignment algorithm, whose output is summarized in Figure
D6-2, would first find that the truth of TYPE (x, LAMP) is beyond the
power of any operator to change and therefore would set its criticality
to the maximum; in this case, 6. Then it would find that TYPE
(x, LAMP) is an insufficient basis for achieving INROOM (ROBOT, r ) or
INROOM (x, r); so these two literals would have their criticality raised to
the next highest value, 5. Next, PLUGGED-IN (x) is considered, and a
plan to achieve PLUGGED-IN (x) is found using only the literals already
processed as a starting point. Hence, the PLUGGED-IN literal retains its
tentative criticality of 2, and, similarly, NEXTTO (ROBOT, x) is given
criticality 1. The result, after similar processing of the preconditions of
the other operators in the domain, is a hierarchy of at least four, and
possibly six, distinct problem spaces.
Literal Criticality Value
TYPE (x, LAMP) 6
INROOM (ROBOT, r) 5
INROOM (x, r) 5
PLUGGED-IN (x) 2
NEXTTO (ROBOT, x) 1
Figure D6-2. Final criticality of literals.
Control Structure
A problem statement for ABSTRIPS, as for STRIPS, consists of a
description of the state of the world to be achieved. A solution is a
plan, or sequence of operators, for achieving it. ABSTRIPS proceeds by
forming a crude plan at the highest level of abstraction and successively
refining it. The executive is a recursive program taking two parameters:
the current level of criticality, defining the abstraction space in which
138 Search II
planning is to take place, and a list of nodes representing the plan to
be refined. Before the initial call, criticality is set to the maximum,
and the skeleton plan is initialized to a single operator — a dummy —
whose preconditions are precisely the goal to be achieved. ABS TRIPS
computes the difference between the preconditions and the current world
model, finds operators relevant to reducing the difference, and, if nec-
essary, pursues subgoals of satisfying the preconditions of the selected
operators. During this process, any preconditions of less than the cur-
rent criticality are ignored. A search tree is built from which, if the
process succeeds, a fuller operator sequence leading from the initial
world model to the goal can be reconstructed. This new skeleton plan,
together with the next lower criticality level, are passed recursively to
the executive for the next round of planning.
The search strategy used by ABSTRIPS can be called length-first, in
that the executive forms a complete plan for reaching the goal in each
abstraction space before considering plans in any lower level space.
This approach has the advantage that it permits early recognition of
dead ends, thus reducing the work wasted in extending the search tree
along fruitless paths involving detailed preconditions. If a subproblem in
any particular space cannot be solved, control is returned to its ab-
straction space, and the search tree is restored to its previous state in
that space. The node that caused the failure in the lower level space is
eliminated from consideration and the search is continued in the higher
level space. This mechanism, an example of backtracking, suffers from
the problem that no information is available at the higher level on what
caused the plan to fail.
Because backtracking can be inefficient and also because each oper-
ator in an abstraction space may be expanded to several operators in
the ground space, it is important for ABSTRIPS to produce good plans
at the highest level. Two modifications to STRIPS were made to try to
ensure that it would do so.
First, whereas a STRIPS search tended to be depth- first and there-
fore sometimes found nonoptimal solutions, ABSTRIPS makes the order
of expanding nodes in the search tree dependent on the level of abstrac-
tion. At the highest level it uses an evaluation function that may
increase the search effort but that ensures that the shortest possible
solution sequence will be found. (See Article n.C3b on A*.)
The second change relates to the instantiation of operator param-
eters, in cases where two or more choices seem equally good. While
STRIPS made a choice arbitrarily, ABSTRIPS defers the choice until a
greater level of detail indicates one to be preferable. Backtracking can
still take place should the choice be mistaken.
D6 ABSTRIPS 139
Performance
ABSTRIPS and STRIPS were compared on a sequence of problems.
One of the longest, needing 11 operators for its solution, required the
robot to open a door, go through the adjacent room to another room,
push two boxes together, and then go through two more doors to reach
the room where it was to stop. The basic STRIPS system required over
30 minutes of computer time to find the solution; ABSTRIPS used 5:28
minutes and generated only half the number of search-tree nodes. It
was noted that by the time ABSTRIPS reached the most detailed level,
it had in effect replaced the original large problem by a sequence of
seven easy subproblems.
References
See Sacerdoti (1974).
Chapter m
Representation of Knowledge
CHAPTER EI: REPRESENTATION OF KNOWLEDGE
A. Overview / US
B. Survey of Representation Techniques / 158
C. Representation Schemes / 160
1. Logic / 160
2. Procedural Representations / 172
S. Semantic Networks / 180
4- Production Systems / 190
5. Direct (Analogical) Representations / 200
6. Semantic Primitives / 207
7. Frames and Scripts / 216
A. OVERVIEW
Artificial Intelligence research involves building computer systems
capable of performing tasks like talking, planning, playing chess, and
analyzing molecular structure. When we talk about people who do
these things, we always talk about what they have to know in order to
do them. In other words, we describe someone's ability to behave with
intelligence in terms of his or her knowledge. Similarly, we say that a
computer program knows how to play cards, or understand spoken
English, or manipulate a robot. We ascribe knowledge to programs in
the same manner as we ascribe it to each other — based on observing
certain behavior; we say that a program knows about objects in its
domain, about events that have taken place, or about how to perform
specific tasks.
The nature of knowledge and intelligence has been pondered by
psychologists, philosophers, linguists, educators, and sociologists for
hundreds of years. Since AI research methodology involves the design of
programs that exhibit intelligent behavior, AI researchers have often
taken a rather pragmatic approach to the subject of knowledge, focusing
on improving the behavior of their programs. In AI, a representation
of knowledge is a combination of data structures and interpretive
procedures that, if used in the right way in a program, will lead to
"knowledgeable" behavior. Work on knowledge representation in AI has
involved the design of several classes of data structures for storing
information in computer programs, as well as the development of
procedures that allow "intelligent" manipulation of these data structures
to make inferences.
Keep in mind that a data structure is not knowledge, any more
than an encyclopedia is knowledge. We can say, metaphorically, that a
book is a source of knowledge, but without a reader, the book is just
ink on paper. Similarly, we often talk of the list-and-pointer data
structures in an AI database as knowledge per se, when we really mean
that they represent facts or rules when used by a certain program to
behave in a knowledgeable way. (This point is expanded in Article
m.C5.)
Techniques and theories about knowledge representation have under-
gone rapid change and development in the last five years. The articles
in this chapter try to give a general review of the different repre-
sentation schemes that researchers have thought up — what they can do
144 Knowledge Representation m
well and what they cannot do. Our understanding of these matters is
still incomplete; knowledge representation is the most active area of AI
research at the present time.
This introductory article should help guide the reader's under-
standing of the various formalisms described in the articles that follow.
After briefly discussing the kinds of knowledge that need to be rep-
resented in AI systems, we introduce some issues that will serve as a
vocabulary for talking about and comparing different representation
methods — terms like scope, understandability, and modularity. The sec-
ond article in the chapter is a brief survey of the most important
representation formalisms, intended to give an overview of the kinds of
systems we are talking about. The remaining articles describe, in more
detail, the mechanics of the various representation schemes, their
historical development, and some of the current research problems.
Knowledge
What kinds of knowledge are needed to behave knowledgeably?
What things do we know "about"? To approach these questions,
consider the following list of types of knowledge that might need to be
represented in AI systems:
Objects: Typically, we think of knowledge in terms of facts about
objects in the world around us. Birds have wings. Robins are
birds. Snow is white. So, of course, there should be some way
to represent objects, classes or categories of objects, and de-
scriptions of objects.
Events: We also know about actions and events in the world. Bob
kissed Mary behind the barn. The sky will fall tomorrow. In
addition to encoding the events themselves, a representation
formalism may need to indicate the time course of a sequence
of events and their cause- an d-effect relations.
Performance: A behavior like riding a bicycle involves knowledge
beyond that of objects and events — knowledge about how to do
things, the performance of skills. Like bike riding, most cogni-
tive behaviors — for example, composing sentences and proving
theorems — involve performance knowledge, and it is often hard
to draw the line between performance knowledge and object
knowledge. (Beware: Pushing too hard on this point leads
right back to the fundamental philosophical issue of what
knowledge is!)
Meta- knowledge: We also use knowledge about what we know, called
meta-knowledge. For example, we often know about the extent
and origin of our knowledge of a particular subject, about the
A Overview 145
reliability of certain information, or about the relative impor-
tance of specific facts about the world. Meta-knowledge also
includes what we know about our own performance as cognitive
processors: our strengths, weaknesses, confusability, levels of
expertise in different domains, and feelings of progress during
problem solving. For example, Bobrow (1975) describes a robot
who is planning a trip; its knowledge that it can read the
street signs to find out where it is along the way illustrates
meta-knowledge.
The questions of whether these kinds of knowledge are distin-
guishable and whether there are also other varieties of knowledge are
interesting psychological issues. For now, however, we will ignore the
psychological aspects of the problem of knowledge. In this article we
discuss some of the features of the AI knowledge representation schemes
that make it possible, sometimes, for computer programs to exhibit
behaviors indicating these four different types of knowledge.
Using Knowledge
The most important consideration in examining and comparing
knowledge representation schemes is the eventual use of the knowledge.
The goals of AI systems can be described in terms of cognitive tasks
like recognizing objects, answering questions, and manipulating robotic
devices. But the actual use of the knowledge in these programs in-
volves three stages: (a) acquiring more knowledge, (b) retrieving facts
from the knowledge base relevant to the problem at hand, and (c)
reasoning about these facts in search of a solution.
Acquisition. We usually think of learning as the accumulation of
knowledge, but it involves more than the addition of new facts to our
brains. Indeed, knowledge acquisition involves relating something new to
what we already know in a psychologically complex way; see, for
example, Piaget's theory of human adaptation by assimilation and
accommodation (Flavell, 1977, pp. 6-11). AI systems often classify a
new data structure before it is added to the database, so that it can be
retrieved later when it is relevant. Also, in many kinds of systems, new
structures can interact with old, sometimes resulting in interference with
tasks that had previously been performed properly. Finally, some
representation schemes are concerned with acquiring knowledge in a form
that is natural to humans, who serve as the source of new knowledge
(see Article vn.B, in Vol. n). If these integrative processes did not take
place during acquisition, the system would accumulate new facts or data
structures without really improving its knowledgeable behavior.
146 Knowledge Representation HI
Retrieval. Determining what knowledge is relevant to a given
problem becomes crucial when the system "knows" many different
things. Humans are incredibly proficient at this task, and many
representation schemes that have been directly concerned with this issue
have been based on ideas about human memory (see Articles m.C3 and
m.C7, and Chap. XI, in Vol. m, on the use of AI methods in building
psychological models). The fundamental ideas about retrieval that have
been developed in AI systems might be termed linking and lumping: If
it is known that one data structure is going to entail another in an
expected reasoning task, an explicit link is put in between the two; if
several data structures are typically going to be used together, they are
grouped into a larger structure.
Reasoning. When the system is required to do something that it
has not been explicitly told how to do, it must reason — it must figure
out what it needs to know from what it already knows. For instance,
suppose an information retrieval program "knows" only that Robins are
birds and that All birds have wings. Keep in mind that for a system to
know these facts means only that it contains data structures and
procedures that would allow it to answer the questions:
Are Robins birds? Yes
Do a I I birds have wings? Yes
If we then ask it, Do robins have wings? the program must reason to
answer the query. In problems of any complexity, the ability to do this
becomes increasingly important. The system must be able to deduce
and verify a multitude of new facts beyond those it has been told ex-
plicitly.
For a given knowledge representation scheme, we must ask, "What
kind of reasoning is possible, easy, natural, and so on, in this formal-
ism?" There are many different kinds of reasoning one might imagine:
Formal reasoning involves the syntactic manipulation of data
structures to deduce new ones following prespecified rules of
inference. Mathematical logic is the archetypical formal repre-
sentation (see Article m\Cl).
Procedural reasoning uses simulation to answer questions and solve
problems. When we use a program to answer What is the sum
of S and 4? & uses, or "runs," a procedural model of arithmetic
(Article m.C2).
Reasoning by analogy seems to be a very natural mode of thought
for humans but, so far, difficult to accomplish in AI programs.
The idea is that when you ask the question Can robins fly? the
system might reason that "robins are like sparrows, and I know
that sparrows can fly, so robins probably can fly."
A Overview 147
Generalization and abstraction are also natural reasoning processes for
humans that are difficult to pin down well enough to imple-
ment in a program. If one knows that Robins have wings, that
Sparrows have wings, and that Blue jays have wings, eventually one
will believe that All birds have wings. This capability may be at
the core of most human learning, but it has not yet become a
useful technique in AI (however, see Chaps. XI and XV, in
Vol. m, for current research).
Meta-level reasoning is demonstrated by the way one answers the
question What is Paul Newman's telephone number? You might
reason that "if I knew Paul Newman's number, I would know
that I knew it, because it is a notable fact." This involves
using "knowledge about what you know," in particular, about
the extent of your knowledge and about the importance of
certain facts. Recent research in psychology and AI indicates
that meta-level reasoning may play a central role in human
cognitive processing (Gentner and Collins, in press; Flavell,
1979); some work on implementing this kind of inference
mechanism in AI systems has begun (Davis, in press; Bobrow
and Winograd, 1977b; Brachman, 1978).
Two things need to be said about the uses of knowledge described
here. First, they are interrelated: When acquiring new knowledge, the
system must be concerned with how that knowledge will be retrieved
and used later in reasoning. Second, for most AI research, efficacy is
the primary consideration in designing knowledge-based AI systems.
Although there is serious concern among AI researchers about the
psychological validity of the various representation schemes, it is not yet
possible to prove that one scheme captures some aspect of human
memory better than another. There is no theory of knowledge rep-
resentation. We don't yet know why some schemes are good for certain
tasks and others not. But each scheme has been successfully used in a
variety of programs that do exhibit intelligent behavior.
We will now discuss some of the characteristics of representation
schemes that have been used to describe and compare different for-
malisms.
Scope and Grain Size
What portion of the external world can be represented in a system?
In what detail are objects and events represented? And how much of
this detail is actually needed by the reasoning mechanisms? Questions
like these, concerning the scope and grain size of a representation
scheme, can help determine the suitability of a given formalism for the
solution of a particular problem, but they are not easy to answer.
148 Knowledge Representation HI
For one thing, of course, the answers depend totally on the partic-
ular application intended. A knowledge representation based on logic, for
instance, might be an extremely fine-grain representation in a mathe-
matical reasoning program but might result in a coarse simplification for
a vision program. Exactly how much detail is needed depends on the
performance desired (see McCarthy and Hayes, 1969). In general,
uniformity of detail across the objects and events seems desirable for a
given reasoning task (Bobrow, 1975).
If one asks, "Can everything that the system must know be
represented in the formalism?" the answer is almost always, "Yes, but
some things are more easily represented than others." Getting a feeling
for what it means to be "represented more easily" — which involves the
representation, the domain, and the reasoning strategies — is, at present,
part of the art of doing AI research; there is no formal metric for the
appropriateness of a representation scheme. Bobrow refers to the pro-
cess of mapping the objects and events in the world into some internal
encoding; then one can ask if the mapping in a given situation is easy,
natural, psychologically valid, and the like.
Indeterminacy and Semantic Primitives
In any representation formalism — logic, semantic nets, procedures,
and so forth — the choice of the primitive attributes of the domain that
are used to build up facts in the database strongly affects the expressive
power of the knowledge representation scheme. One particular problem
affected by the choice of semantic primitives is the multiplicity of ways
in which a particular fact or event might be encoded. For instance, the
fact that robins have wings could be represented in either of the sample
semantic nets below (see Article m.C3):
BIRD WIMGS
subset
has— part
partr-of
WINGS
ROBINS ROBINS
The first is interpreted as All robins are birds, and all birds have wings,
while the second states directly that Wings are a part of all robins.
Although this inherent indeterminacy might be used to great advantage,
allowing redundant storage of information with an eye to future rele-
vance, for example, it generally gives rise to confusion and expense,
A Overview 149
since the system doesn't know exactly what structures to look for when
it comes time to retrieve a given fact.
One particular task in which the problem of nonspecificity of
representation was critical was the paraphrase task popular in natural
language understanding research (see Chap. rv). Problems encountered
in trying to build programs that could rephrase an input sentence, check
whether two sentences have the same meaning, or translate a sentence
from one language into another led researchers like Norman and
Rumelhart (1975), Schank and Abelson (1977), and Wilks (1977b) to try
using canonical internal representations based on semantic primitives.
Thus, in Schank's MARGIE system and Wilks's machine translation sys-
tem, all representation structures are built from a set of primitives in
such a way that two structures that mean the same thing reduce to the
same network of primitive nodes (see Articles IV.F2 and IV.F5). The
selection of primitive elements for the expression of knowledge in a
given domain is a basic problem in all representation schemes, whether
the primitives are represented as nodes in a semantic net, predicates in
logic formulas, or slots in a frame. (The status of semantic primitives
in knowledge representation research is discussed in Article m.C6.)
Modularity and Under standability
If one thinks of the data structures in a program as pieces of
knowledge, then adding new data structures is like adding knowledge to
the system. One characteristic that is often used to compare represen-
tation schemes is modularity, which refers to the ability to add, modify,
or delete individual data structures more or less independently of the
remainder of the database, that is, with clearly circumscribed effects on
what the system "knows."
In general, humans find modular or decomposable systems easier to
understand and work with (Simon, 1969). To illustrate the difficulty
encountered in nonmodular systems, consider the complicated inter-
dependence of procedures in a large computer program such as an
operating system. The following situation will be familiar to readers
who have helped write and maintain large programs: A large system is
composed of many procedures that call each other in a complex way
that becomes increasingly hard to follow as the system grows. Often
modification of procedure X, so that it will work properly when called
by procedure A, interferes with the proper functioning of X when it is
called by procedure B. In other words, in order to modify a large
system successfully, the programmer must understand the interactions of
all of its pieces, which can become an impossibly difficult task.
150 Knowledge Representation EI
In general terms, the problem with nonmodular systems is that the
meaning of data structures in the knowledge base depends on the con-
text in which the knowledge is being used. (Computer programs them-
selves illustrate a notoriously nonmodular representation scheme called
procedural representation — see Article m.C2.) Context dependence, in
turn, dramatically affects the modifiability of the knowledge base; modi-
fication is much easier if the meaning of a fact can be specified when
the fact is entered or removed, independent of the rest of the system.
On the other hand, some human knowledge seems inherently non-
modular and is very difficult for people to express as independent rules
or facts. Winograd (1974) made the generalization that in modular
systems the facts are easy to recognize but the reasoning process may
be quite opaque, and the opposite is often true in procedural repre-
sentations. The degree to which the system is understandable by humans
is important in several phases of its development and performance:
design and implementation, acquisition of knowledge from human ex-
perts, performance of the task, and interaction with and explanations for
the eventual user.
In some representation schemes the data structures (e.g., production
rules, logic formulas) seem less inherently intertwined, but the control of
the interaction of the various database entries is a very important char-
acteristic of all representation schemes. Winograd (1975) suggests that
no system is completely modular — in all systems there is some degree of
interaction between the data structures that form the knowledge base —
but some formalisms are more inherently modular than others.
Explicit Knowledge and Flexibility
Another issue to keep in mind when examining various repre-
sentation schemes is what part of the system's knowledge is explicit. By
this we mean, to what knowledge do the programmer and the system
have direct, manipulatory access, and what knowledge is built-in? For
example, an operating system has an explicit representation of its
priority queues, but its full knowledge about scheduling jobs (deciding
which of several users to serve first) is typically hidden deep in
voluminous code. The knowledge is there, of course, since the system
behaves in a knowledgeable way, but it is implicit in the system's
program (Winograd, 1980b, p. 228).
One particular advantage of explicit representation schemes is that,
because the facts are in a form that allows a global interpretation, the
same fact can be used for multiple purposes. In some large systems
this feature has been a significant advantage. For example, in MYCIN
A Overview 151
(see Article vm.Bi, in Vol. n), the production rules that form the
system's knowledge about how to diagnose the possible causes of
infectious diseases are used not only by the diagnosis module itself, but
also by the routines that explain the diagnosis module's reasoning to the
consulting physician and that acquire new rules from expert physicians
(Davis and Buchanan, 1977).
Declarative versus Procedural Representations
On a closely related subject, the dispute about the relative merits of
declarative versus procedural knowledge representations is a historically
important battle from which much of current representation theory was
painfully developed (Winograd, 1975). Many of the issues discussed in
this article were identified during the declarative-procedural debate. The
declarative systems were typified by resolution-based theorem provers
(see Article m.Ci on logic and Chap, xn, in Vol. m) and the procedural
systems by Winograd's PLANNER-based SHRDLU (Article IV.F4). The
Declarativists talked about the flexibility and economy of their repre-
sentation schemes, about their completeness and the certainty of the de-
ductions, and about the modifiability of the systems. The Proceduralists
stressed the directness of the line of inference (using domain- specific
heuristics to avoid irrelevant or unnatural lines of reasoning) and the
ease of coding and under standability of the reasoning process itself.
Although in retrospect these positions seem somewhat arbitrarily
chosen over the space of possible features of representation schemes, the
declarative-procedural battle was an important one in AI. It dissolved,
rather than being resolved, and the result was a much greater respect
for the importance of knowledge representation in current AI work.
Final Remarks
This article has not been about representation formalisms per se, but
rather about the pragmatics of epistemology, the study of the nature of
knowledge. The intention has been to lay the groundwork for an appre-
ciation of the problems inherent in representing knowledge in AI
programs. The discussion may also guide a critical comparison of the
representation methods described in the articles to follow.
There are many open questions, indeed serious problems, in knowl-
edge representation research. For example, quantification, the ability to
specify properties of arbitrarily defined sets, is an area of active
theoretical research. Other current problems include how to represent
people's beliefs (which may or may not be true), degrees of certainty,
mass nouns, time and tense information, and processes that consist of
sequenced actions taking place over time.
152 Knowledge Representation EI
The following article is a quick summary of the knowledge
representation schemes used in AI. The articles in Section m.C go into
substantial detail about individual representation schemes, discussing
their development, their technical features, their use in AI systems, and
their shortcomings.
References
The best recent review of knowledge representation research in AI is
Winograd (in press). Earlier excellent discussions include the papers in
Bobrow and Collins (1975), especially Bobrow (1975) and Winograd
(1975). Other recent general discussions of knowledge representation are
found in Boden (1977) and Findler (1979). Brachman and Smith (1980)
report on a survey of knowledge representation researchers, showing the
wide diversity of goals and approaches among workers in the field.
B. SURVEY OF REPRESENTATION TECHNIQUES
As stated in the preceding article, AI research deals in experimental
epistemology; to create programs that exhibit intelligent behavior,
researchers in AI develop schemes for incorporating knowledge about the
world into their programs. These knowledge representation techniques
involve routines for manipulating specialized data structures to make
intelligent inferences. Although some aspects of each knowledge rep-
resentation technique are incidental and will seem unmotivated, in its
way each scheme touches on concerns central to the study of cognition
and intelligence.
This survey article presents sketches of the representation schemes
that have been used in AI programs that play chess, converse in
English, operate robots, and so forth. Seeing simple examples of the
major techniques will perhaps help the reader get a clearer idea of what
a knowledge representation is. Most of this research assumes that what
needs to be represented is known, a priori; the AI researcher's job is
just figuring out how to encode the information in the system's data
structures and procedures.
State- space Search
Perhaps the earliest representation formalism used extensively in AI
programs was the state-space representation, developed for problem-
solving and game-playing programs. The search space is not a rep-
resentation of knowledge, per se: What it represents is the structure of
a problem in terms of the alternatives available at each possible state of
the problem, for example, the alternative moves available on each turn
of a game. The basic idea is that from a given state in a problem, all
possible next states can be determined with a small set of rules, called
transition operators (or legal-move generators in game-playing programs).
For example, in a chess game, the original state is the board position at
the beginning of the game. The legal-move generators correspond to the
rules for moving each piece. So all of the next states of the game (i.e.,
the board configurations after each of White's possible first moves) can
be generated by applying the move generators to the original positions
of the pieces. Similarly, all of the possible states after Black's first
response can be generated.
One rather straightforward way to find the winning move is to try
all of the alternative moves, then try all of the opponent's responses to
154 Knowledge Representation Et
these moves, and then try all of the possible responses to those, until
all of the possible continuations of the game have been exhausted and it
is clear which was optimal. The problem with this solution is that, for
interesting problems like chess, there are far too many possible
combinations of moves to try in a reasonable amount of time on a
machine of conceivable computational power. This problem, called the
combinatorial explosion, is an important general difficulty for AI systems
in all applications (see Chap. n).
The solution adopted in AI research is to limit the number of
alternatives searched at each stage of the look-ahead process to the best
possibilities. And in order to determine which alternatives are best,
programs must reason from large amounts knowledge about the world,
encoded within the program in some knowledge representation. What-
ever domain the systems deal with, chess or organic chemistry or pizza
parlor scenarios, the goal of research in knowledge representation is to
allow AI programs to behave as if they knew something about the
problems they solve.
Logic
The classical approach to representing the knowledge about the
world contained in sentences like
All birds have wings.
is formal logic, developed by philosophers and mathematicians as a
calculus of the process of making inferences from facts. The example
about birds' wings would be translated into the mathematical formula
V x. Bird (x) — ► HasWings (x) ,
which reads, For any object x in the world, if x is a bird, then x has
wings. The advantage of formal representation is that there is a set of
rules, called the rules of inference in logic, by which facts that are
known to be true can be used to derive other facts that must also be
true. Furthermore, the truth of any new statement can be checked, in
a well- specified manner, against the facts that are already known to be
true.
For example, suppose we add another fact to our database,
V x. Robin (x) — ► Bird (x) ,
which reads, For any object x in the world, if x is a Robin, then x is a
Bird. Then from these two facts, we can conclude, using the rules of
inference, that the following fact must be true:
V x. Robin (x) — ► HasWings (x) ;
B Survey of Representation Techniques 155
that is, that All robins have wings. Note that there is a specific rule of
inference that allows this deduction based on the superficial structure, or
syntax, of the first two formulas, independent of whether they dealt
with birds or battleships, and that new facts derived through application
of the rules of inference are always true so long as the original facts
were true.
The most important feature of logic and related formal systems is
that deductions are guaranteed correct to an extent that other rep-
resentation schemes have not yet reached. The semantic entailment of a
set of logic statements (i.e., the set of inferences or conclusions that can
be drawn from those statements) is completely specified by the rules of
inference. Theoretically, the database can be kept logically consistent
and all conclusions can be guaranteed correct. Other representation
schemes are still striving for such a definition and guarantee of logical
consistency.
One reason that logic-based representations have been so popular in
AI research is that the derivation of new facts from old can be mech-
anized. Using automated versions of theorem proving techniques,
programs have been written to determine automatically the validity of a
new statement in a logic database by attempting to prove it from the
existing statements (see Chap, xn, in Vol. m). Although mechanistic
theorem provers of this sort have been used with some success in
programs with relatively small databases (Green, 1969), when the
number of facts becomes large, there is a combinatorial explosion in the
possibilities of which rules to apply to which facts at each step of the
proof. More knowledge about what facts are relevant to what situations
is needed, and, again, incorporating additional knowledge is the goal of
continuing work in representation theory.
Procedural Representation
The idea of procedural representation of knowledge first appeared
as an attempt to encode some explicit control of the theorem-proving
process within a logic-based system. (This refers to research on the
PLANNER programming language; see Article VI.C2, in Vol. n.) In a
procedural representation, knowledge about the world is contained in
procedures — small programs that know how to do specific things, how to
proceed in well-specified situations. For instance, in a parser for a
natural language understanding system, the knowledge that a noun
phrase may contain articles, adjectives, and nouns is represented in the
program by calls (within the NP procedure) to routines that know how
to process articles, nouns, and adjectives.
156 Knowledge Representation m
The underlying knowledge, the permissible grammar for a noun
phrase in our example, is not stated explicitly and thus is not typically
extractable in a form that humans can easily understand. The conse-
quent difficulty that humans have in verifying and changing procedural
representations is the major flaw of these systems. Nevertheless, all AI
systems use a procedural representation at some level of their opera-
tion, and general consensus gives a legitimate role for procedural
representation in AI programs (Winograd, 1975). The advantages and
disadvantages of procedural knowledge representation are discussed fully
in Article m.C2. Recent work has emphasized procedural attachment in
frame-based systems (Article m.C7).
Semantic Nets
The semantic net, developed by Quillian (1968) and others, was
invented as an explicitly psychological model of human associative mem-
ory. A net consists of nodes, representing objects, concepts, and events,
and links between the nodes, representing their interrelations. Consider,
for example, the simple net:
BIRD
has— part
WINGS
where BIRD and WINGS are nodes representing sets or concepts and
HAS-PART is the name of the link specifying their relationship. Among
the many possible interpretations of this net fragment is the statement
All birds have wings.
As illustrated earlier, statements of this sort also have a natural
representation in logic-based representation systems. One key feature of
the semantic net representation is that important associations can be
made explicitly and succinctly: Relevant facts about an object or con-
cept can be inferred from the nodes to which they are directly linked,
without a search through a large database.
The ability to point directly to relevant facts is particularly salient
with respect to ISA and SUBSET links, which establish a property in-
heritance hierarchy in the net. For example, the net segment
B Survey of Representation Techniques 157
BIRD
has— part
WINGS
subset
ROBIN!
might be interpreted to mean that since robins are birds, and birds
have wings, then robins have wings. The interpretation (semantics) of
net structures, however, depends solely on the program that manipulates
them; there are no conventions about their meaning. Therefore, in-
ferences drawn by manipulation of the net are not assuredly valid, in
the sense that they are assured to be valid in a logic-based represen-
tation scheme.
Production Systems
Production systems, developed by Newell and Simon (1972) for their
models of human cognition (see Chap. XI, in Vol. m), are a modular
knowledge representation scheme that is finding increasing popularity in
large AI programs. The basic idea of these systems is that the data-
base consists of rules, called productions, in the form of condition-action
pairs: "If this condition occurs, then do this action." For example,
IF stoplight is red AND you have stopped THEN right turn OK.
The utility of the formalism comes from the fact that the conditions in
which each rule is applicable are made explicit and, in theory at least,
the interactions between rules are minimized (one rule doesn't "call"
another).
Production systems have been found useful as a mechanism for
controlling the interaction between statements of declarative and pro-
cedural knowledge. Because they facilitate human understanding and
modification of systems with large amounts of knowledge, productions
have been used in several recent large applications systems like
DENDRAL, MYCIN, PROSPECTOR, and AM (see Chap, vn, in Vol. n).
Current work on production systems has emphasized the control aspects
of the formalism and the ability to develop self-modifying (learning)
systems.
158 Knowledge Representation m
Special-purpose Representation Techniques
Some of the domains that AI researchers work in seem to suggest
natural representations for the knowledge required to solve problems.
For example, a visual scene from a robot's camera is often encoded as
an array representing a grid over the scene: The values of the elements
of the array represent the average brightness over the corresponding
area of the scene (see Chap, xm, in Vol. m). This direct representation
is useful for some tasks, like finding the boundaries of the objects in the
scene, but is clumsy for other tasks, like counting the number of ob-
jects. In the latter case, a list — each element of which represents one
object indicating its location, orientation, and size — might be a more
useful representation. (See the discussion in Bobrow, 1975.)
This example illustrates a very important principle to realize when
comparing representation techniques. In some sense, these two (and all
other) knowledge representation methods are interchangeable: If we know
one representation in enough detail, we could for the most part
construct the other one. It is the intended use of the knowledge about
the scene that recommends one representation scheme over another. In
a big AI system, like the speech understanding programs, multiple rep-
resentations of the same information may be used simultaneously for
different purposes.
Other special-purpose representation schemes of particular interest
are those used in the early natural language understanding programs,
like SAD-SAM and SIR (see Article IV.Fi), and the discrimination net
used in the EPAM program (Article XI.D, in Vol. m).
Frames
The most recently developed AI knowledge-representation scheme is
the frame, still in its early development stage. Researchers have dif-
ferent ideas about exactly what a frame is, but basically, a frame is a
data structure that includes declarative and procedural information in
predefined internal relations. Thus, a generic frame for a dog might
have knowledge hooks, or slots, for facts that are typically known about
dogs, like the BREED, OWNER, NAME, and an "attached procedure" for
finding out who the owner is if that is not known. In the frame-like
language KRL (Bobrow and Winograd, 1977b), a dog-frame might look
like this:
B Survey of Representation Techniques 159
Generi c
DOG Fi
■ame
Se 1 f :
an AMIMAL
Breed
Owner
a PERSON
a PET
(If-Needed : find a PERSON with pet=myself)
Name: a PROPER NAME (DEFAULT=Rover)
DOG-NEXT-DOOR Frame
Self: a DOG
Breed: mutt
Owner: Jimmy
Name: Fido
The semantics of this example, as well as the ideas being developed in
frame-based formalisms, is discussed in Article m.C7.
An interesting, much discussed feature of frame-based processing is
the ability of a frame to determine whether it is applicable in a given
situation. The idea is that a likely frame is selected to aid in the pro-
cess of understanding the current situation (dialogue, scene, problem)
and this frame in turn tries to match itself to the data it discovers. If
it finds that it is not applicable, it could transfer control to a more
appropriate frame (Minsky, 1975). Although many issues about the
possible implementations of frame-based systems are unresolved, and
others may not have surfaced yet, the basic idea of frame-like struc-
turing of knowledge appears promising.
Conclusion
This brief summary of knowledge representation indicates the variety
of techniques being used in AI projects. The remaining articles in this
chapter go into most of these schemes in greater detail. Many re-
searchers feel that the representation of knowledge is the key issue at
this point in the development of AI. Knowledge representation is also
one area in which AI and cognitive psychology share fundamental
concerns, for the brain's operation is sometimes best described by one
representation formalism, sometimes by another, and sometimes not very
well by any we have thought up. The interested reader should peruse
Chapter XI, in Volume m.
References
The best current survey of knowledge representation in AI is in
Winograd (in press). References on each of the schemes are given after
the corresponding article in the following.
C. REPRESENTATION SCHEMES
CI. Logic
Philosophers have been grappling with the nature of reasoning and
knowledge since the time of the ancient Greeks. This tradition, for-
malized in the last half of the 19th century with the work of Boole,
Frege, and Russell and expanded and amplified in the current century
by philosophers like Quine, Carnap, and Tarski, is an important part of
Western intellectual history and has developed into the philosophical and
mathematical study of logic.
This article is about logic — about how the formal treatment of
knowledge and thought, as developed in philosophy, has been applied to
the development of computer programs that can reason. The first two
sections of the article, dealing with the propositional and predicate
calculi, are an introduction to formal logic. This particular introduction
has been written with the AI applications of logic in mind. It is fol-
lowed by an illustration of the way that a simple problem, the famous
Tower of Hanoi puzzle, might be formalized in the predicate calculus.
Then, after a survey of some of the important AI systems that have
used logic for a representation, we discuss the advantages and problems
of this representational formalism in AI.
The Propositional Calculus
Logic, which was one of the first representation schemes used in AI,
has two important and interlocking branches. The first is consideration
of what can be said — what relations and implications one can formalize,
the axioms of a system. The second is the deductive structure — the
rules of inference that determine what can be inferred if certain axioms
are taken to be true. Logic is quite literally a formal endeavor: It is
concerned with the form, or syntax, of statements and with the deter-
mination of truth by syntactic manipulation of formulas. The expressive
power of a logic-based representational system results from building. One
starts with a simple notion (like that of truth and falsehood) and, by
inclusion of additional notions (like conjunction and predication),
develops a more expressive logic — one in which more subtle ideas can be
represented.
CI Logic 161
The most fundamental notion in logic is that of truth. A properly
formed statement, or proposition, has one of two different possible truth
values, TRUE or FALSE. Typical propositions are Bob's car is blue,
Seven plus six equals twelve, and John is Mary's uncle. Note that each
of the sentences is a proposition, not to be broken down into its
constituent parts. Thus, we could assign the truth value TRUE to the
proposition John is Mary's uncle, with no regard for the meaning of
John is Mary's uncle, that is, that John is the brother of one of Mary's
parents. Propositions are those things that we can call true or false.
Terms such as Mary's uncle and seven plus four would not be propo-
sitions, as we cannot assign a truth value to them.
Pure, disjoint propositions aren't very interesting. Many more of the
things we say and think about can be represented in propositions that
use sentential connectives to combine simple propositions. There are five
commonly employed connectives:
&
D
The use of the sentential connectives in the syntax of propositions
brings us to the simplest logic, the propositional calculus, in which we
can express statements like The book is on the table or it is on the
chair and If Socrates is a man, then he is mortal. In fact, the meanings
of the sentential connectives are intended to keep their natural inter-
pretations, so that if X and Y are any two propositions,
X A Y is TRUE if X is TRUE and Y is TRUE; otherwise X A Y
is FALSE.
X V Y is TRUE if either X is TRUE or Y is TRUE or both.
-iX is TRUE if X is FALSE, and FALSE if X is TRUE.
X — ► Y is meant to be the propositional calculus rendition of the
notion If we assume that X is true, then Y must be so; that
is, the truth of X implies that Y is true. We use this
concept in everyday speech with statements like If Jenny
is nine months old, then she can't do calculus. The truth
value of X — ► Y is defined to be TRUE if Y is TRUE or
X is FALSE.
X = Y is TRUE if both X and Y are TRUE, or both X and Y
are FALSE; X = Y is FALSE if X and Y have different
truth values.
And
A
or
Or
V
Mot
— i
Impl i es
->
or
Equ i va 1 en
t
=
162 Knowledge Representation HI
The following table, a compressed truth table, summarizes these defini-
tions.
X
Y
XAY
XVY
X— >Y
-iX
X=Y
T
T
T
T
T
F
T
T
F
F
T
F
F
F
F
T
F
T
T
T
F
F
F
F
F
T
T
T
From syntactic combinations of variables and connectives, we can
build sentences of propositional logic, just like the expressions of mathe-
matics. Parentheses are used here just as in ordinary algebra. Typical
sentences are:
(1) (X - (Y A Z)) = ((X - Y) A (X - Z))
(2) -.(XV Y) = -1(1 y A -JT)
(3) (XAY) V (i'yA Z)
Sentence 1 is a tautology; it states, "Saying X implies Y and Z is the
same as saying that X implies Y and X implies Z." This is a tautology
because it is true no matter what propositions are substituted for the
sentential constants X, Y, and Z. Sentence 2 is a fallacy or contra-
diction. No matter what assignment of values is used, the sentence is
always false. (It states, "Saying X or Y is false is the same as saying
that 'X is false and Y is false' is false.") Sentence 3 is neither a
tautology nor a fallacy. Its truth value depends on what propositions
are substituted for X, Y, and Z.
In the propositional calculus, we also encounter the first rules of
inference. An inference rule allows the deduction of a new sentence
from previously given sentences. The power of logic lies in the fact
that the new sentence is assured to be true if the original sentences
were true. The best known inference rule is modus ponens. It states
that if we know that two sentences of the form X and X — ► Y are
true, then we can infer that the sentence Y is true. For example, if we
know that the sentence John is an uncle is true and we also know that
If John is an uncle, then John is male is true, then we can conclude
that John is male is true. More formally, the modus ponens rule would
be expressed as:
(x a (x - y)) - y .
CI Logic 163
Note that if we think of X and X — ► Y as two entries in a database,
the modus ponens rule allows us to replace them with the single
statement, Y, thus eliminating one occurrence of the connective "— ►." In
what are called natural deduction systems of logic, there are typically
two rules of inference for each connective, one that introduces it into
expressions and one that eliminates it. Modus ponens is therefore called
the "— ►"- elimination rule.
The Predicate Calculus
For the purposes of AI, propositional logic is not very useful. In
order to capture adequately in a formalism our knowledge of the world,
we need not only to be able to express true or false propositions, but
also to be able to speak of objects, to postulate relationships between
these objects, and to generalize these relationships over classes of ob-
jects. We turn to the predicate calculus to accomplish these objectives.
The predicate calculus is an extension of the notions of the prop-
ositional calculus. The meanings of the connectives (A, V, — ►, ~>, and
=) are retained, but the focus of the logic is changed. Instead of
looking at sentences that are of interest merely for their truth value,
predicate calculus is used to represent statements about specific objects,
or individuals. Examples of individuals are you, this sheet of paper, the
number 1, the queen of hearts, Socrates, and that coke can.
Predicates. Statements about individuals, both by themselves and in
relation to other individuals, are called predicates. A predicate is applied
to a specific number of arguments and has a value of either TRUE or
FALSE when individuals are used as the arguments. An example of a
predicate of one argument is the predicate is-red. Of the individuals
mentioned in the previous paragraph, the predicate is-red has the value
TRUE when applied to the individuals the queen of hearts and that coke
can and FALSE when the individual this paper is used as the argument.
Other examples of predicates are less-than-zero, Greek, mortal, and
made- of -paper.
Predicates can have more than one argument. An example of a
two-place predicate from mathematics is is- greater- than, for example, is-
greater-than (7, 4). Physical objects could be compared by the two-place
predicate is-lighter-than. A three-place predicate from geometry might
be Pythagorean, which takes three line- segments as arguments and is
TRUE whenever two are the sides of a right triangle with the third as
its hypotenuse. One very important two-place predicate is equals.
Each one-place predicate defines what is called a set or sort. That
is, for any one-place predicate P, all individuals X can be sorted into
164 Knowledge Representation Et
two disjoint groups, with those objects that satisfy P (for which P(X)
is TRUE) forming one group and those that don't satisfy P in the
other. Some sorts include other sorts; for example, all men are animals,
and all knaves are playing-cards.
Quantifiers. We shall often have occasion to refer to facts that we
know to be true of all or some of the members of a sort. For this, we
introduce two new notions, those of variable and quantifier. A variable
is a place holder, one that is to be filled in by some constant, as X has
been used in this article. There are two quantifiers, V, meaning for
all . . ., and 3, meaning there exists . . . The English-language sen-
tence All men are mortal is thus expressed in predicate calculus, using
the variable X; as
VX Man (X) -> Mortal (X) ,
which is loosely rendered, "For all individuals X, if X is a man (i.e.,
Man (X) is true), then X is mortal." The English sentence There is a
playing card that is red and is a knave becomes the predicate calculus
statement
3 X Playing-card (X) A Knave (X) A Is-red (X) .
More complicated expressions, or well- formed formulas (WFFs), are cre-
ated with syntactically allowed combinations of the connectives, predi-
cates, constants, variables, and quantifiers.
Inference rules for quantifiers. In a typical natural deduction sys-
tem, use of the quantifiers implies the introduction of four more infer-
ence rules, one for the introduction and elimination of each of the two
quantifiers. For example, the V-elimination, or universal specialization,
rule states that, for any well-formed expression # that mentions a vari-
able X, if we have
V X <£(X) ,
we can conclude
for any individual A. In other words, if we know, for example,
V X Man (X) -> Mortal (X) ,
we can apply this to the individual Socrates, using the V-elimination
rule, to get:
CI Logic 165
Man (Socrates) — ► Mortal (Socrates).
The rules of the propositional calculus, extended by predicates, quanti-
fication, and the inference rules for quantifiers, result in the predicate
calculus.
First-order logic. Predicate calculus, as we've described it, is very
general, and often quite clumsy. Two other additions to the logic will
make some things easier to say, without really extending the range of
what can be expressed. The first of these is the the notion of oper-
ators, or functions. Functions, like predicates, have a fixed number of
arguments; but functions are different from predicates in that they do
not just have the values TRUE or FALSE, but they "return" objects
related to their arguments. For example, the function uncle- of when
applied to the individual Mary would return the value John. Other
examples of functions are absolute-value, plus, and left-arm-of Each of
the arguments of a function can be a variable, a constant, or a function
(with its arguments). Functions can, of course, be combined; we can
speak of the father-of (father-of (John)), who would, of course, be John's
paternal grandfather.
The second important addition is that of the predicate equals. Two
individuals X and Y are equal if and only if they are indistinguishable
under all predicates and functions. More formally, X = Y if and only
if, for all predicates P, P(X) = P{Y), and also for all functions F,
F(X) = F(Y). What we arrive at with these additions is no longer
pure predicate calculus; it is a variety of first-order logic. (A logic is of
first order if it permits quantification over individuals but not over pred-
icates and functions. For example, a statement like All predicates have
only one argument cannot be expressed in a first-order theory.) First-
order logic is both sound (it is impossible to prove a false statement)
and complete (any true statement has a proof). The utility of these
properties in AI systems will be discussed after we present the
axiomatization of a sample problem, that is, its formal expression in
sentences of first-order logic.
A Sample Axiomatic System
So far, we have sketched the language of logic, its parts of speech,
and its grammar. We have not talked about how to express a problem
to be solved in this language. Deciding how to express the notions he
or she needs is up to the user of logic, just as a programmer must
construct programs from the elements presented in the programming
language manual. However, a good programming manual ought to pre-
sent sample programs; we present a sample axiomatization of the famous
166
Knowledge Representation
m
Tower of Hanoi problem (see Article n.B2). One common version of this
puzzle involves three pegs — 1, 2, and 3 — and three disks of graduated
sizes — A, B, and C. Initially the disks are stacked on peg 1, with A,
the smallest, on top and C, the largest, at the bottom. The problem is
to transfer the stack to peg 3, as in Figure Cl-1, given that (a) only
one disk can be moved at a time, and it must be free, that is, have no
other disks on top of it, and (b) no disk may ever be placed on top of
a smaller disk.
Initial State
Goa I State
A -
B —
C
peg 1 peg 2 peg 3
- A
- B
C
peg 1 peg 2 peg 3
Figure Cl-1. The Tower of Hanoi puzzle.
The expression and solution of problems in logic have several parts.
We must first specify the vocabulary of our domain — what the variables,
constants, predicates, and functions are. Second, we define axioms —
expressions that we assert state the necessary relationships between the
objects needed to model our domain.
Obvious objects (constants) for this axiomatization are the disks, A,
B, and C, and the pegs, 1, 2, and 3; obvious predicates are the sorts,
DISK and PEG. DISK (A) is TRUE, since A is a disk; PEG(C) is
FALSE.
We need also to be able to compare disk size; for that, we have a
binary predicate, SMALLER. We define SMALLER (A, B) to be TRUE if
and only if disk A is smaller than disk B. If we have variables X, Y,
and Z denoting disks, we can have our first axiom express the tran-
sitivity of SMALLER:
VI7Z. (SMALLER (X, Y) A SMALLER ( Y, Z )) -> SMALLER (X, Z ) .
In other words, // disk X is smaller than Y, and Y is smaller than Z,
then X is smaller than Z. The given size relationships between the
disks are stated by the premise
SMALLER {A,B) A SMALLER (B, C) .
Note that by using the preceding two expressions, we can establish, or
prove, SMALLER (A, C).
We need to be able to talk about the status of our problem solving
CI Logic 167
as we work through a solution and to be able to compare the status
after a series of moves. A common strategy to deal with this difficulty
is that of introducing a situational constant. A situation is a "snap-
shot" of where things are at any given point. Thus, in the Tower of
Hanoi problem, we might have disk C under disk A at some point
called, say, situation SIT12.
The vertical relationships of the disks and the pegs are, after all,
the primary predicate of this problem. Hence, we need a three-place
predicate ON (X, Y, S ), which asserts that disk X is on disk (or peg) Y
in situation S. The axiomatization of the fact that a disk is free (i.e.,
has no other disk on it) in a situation S becomes:
V X S. FREE (X, S) = -3 Y. (ON (Y, X, S)) ,
which is read, "For all disks X and situations S, X is free in situa-
tion S if and only if there does not exist a disk Y such that Y is ON
X in situation S." Notice how specific and concise the formal statement
of these relations can be.
To describe the idea that moving a disk, X, onto Y is "legal" in a
given situation only if both X and Y are free and Y is bigger, we cre-
ate the predicate LEGAL:
V X Y S. LEGAL (X, Y, S)
= (FREE (X,S) A FREE (Y, S) A DISK (X) A SMALLER (X; Y)) .
Now all we lack is a way of generating new situations. The function
MOVE, defined on two objects and a situation, produces a new situation
in which the first object is on top of the second. And what does this
new situation, S', look like? Well, X is on Y, and nothing else has
changed:
V S S' X Y
S' = MOVE (X, Y, S) -* (ON (X, Y,S')
A V Z Zv ((-.Z = IA^1= Y)
- (ON (Z,ZVS) = ON(Z,ZvS')))
A V Z (ON(X, Z, S) -> FREE(Z, S')) .
S' will be a SITUATION if that MOVE is LEGAL:
V X Y S. LEGAL (X; Y, S) = SITUATION (MOVE (X, Y, S)) .
This example gives an idea of how to express in first-order logic the
notions involved in the Tower of Hanoi problem. The solution of the
problem involves proving that the goal state can be reached from the
original state. More precisely, one proves a theorem that states that,
given the problem's premises expressed like the ones above, such a goal
168 Knowledge Representation IE
state exists. There are very general methods for automated theorem
proving in first-order logic, involving programs that manipulate internally
stored logical expressions using rules of inference supplied as procedures.
The details of this process are discussed in Chapter xn, in Volume m.
The AI systems described in the next section all use some kind of the-
orem prover to make deductions based on facts expressed as logic for-
mulas.
Applications of Logic to Artificial Intelligence
In this section we shall survey various AI systems that use logic to
represent knowledge. We shall also mention the different processes they
use to make deductions, since this is an equally important aspect of the
system, but we will not describe the various alternatives in detail.
QA3 (Green, 1969) was a general-purpose, question- answering system
that solved simple problems in a number of domains. Deductions were
performed by the resolution method of inference, with simple general
heuristics for control. The system could solve problems in chemistry,
robot movement, puzzles (like the Tower of Hanoi), and automatic pro-
gramming. For example, given the following chemical facts (among
others) about ferrous sulfide (FeS)
FeS is a sulfide, it is a dark-gray compound, and it is brittle.
represented as the first-order logic formula
sulfide (FeS) A compound (FeS) A darkgray (FeS) A brittle (FeS) ,
QA3 could then answer questions like "Is it true that no dark-gray thing
is a sulfide?" — that is,
-i 3 X. darkgray (X) A sulfide (X) ?
Despite its generality and its success on simple problems, QA3 could
not handle really difficult problems. The fault lay in the method of
deduction, resolution theorem proving, which became impossibly slow as
the number of facts it knew about a particular domain increased beyond
just a few. In AI terminology, as the number of facts in the database
increases, there is a combinatorial explosion in the number of ways to
combine facts to make inferences (see Article n.A), and the resolution
method of proving theorems was too indiscriminate in which com-
binations it tried. Although unrestricted resolution is complete, in the
sense that it will always return an answer if one exists, it is too
indirect for nontrivial problems. Even the use of heuristic rules to
suggest which alternatives might be most profitably followed at various
points of the proof did not constrain the search sufficiently to make
CI Logic 169
QA3's approach feasible for large databases (see, however, Chap, xn, in
Vol. in, for current research on more sophisticated theorem provers).
STRIPS, the Stanford Research Institute Problem Solver, was
designed to solve the planning problems faced by a robot in rearranging
objects and navigating in a cluttered environment (Fikes, Hart, and
Nilsson, 1972). Since the representation of the world must include a
large number of facts dealing with the position of the robot, objects,
open spaces, and the like, simpler methods often used for puzzles or
games would not suffice. The representation scheme chosen for STRIPS
was again the first-order predicate calculus.
A simple problem was:
Given a robot at point A and boxes at points B, C, and D, gather
the boxes together.
The current situation is described as
ATR (A)
AT (BOX1, B)
AT (BOX2, C)
AT (BOX3, D)
and the goal as
31. AT(BOXl,X) A AT(BOX2, X) A AT (BOX3, X) ,
that is, Get all the boxes together at some place, X. Problem solving in
a robot domain such as this involves two types of processes: (a)
deduction in a particular world model, to find out whether a certain
fact is true, and (b) searching through a space of world models, to find
one in which the given condition is satisfied (e.g., How can we get the
three blocks together?).
The former process is usually called question answering; the latter,
planning. STRIPS applied different methods to solve these two kinds of
problems. Question answering was done with resolution theorem prov-
ing, as in Green's QA3 system; planning was performed with means- ends
analysis, as in the GPS system of Newell and Simon (1972). This dual
approach allowed world models that were more complex and general
than in GPS and provided more powerful search heuristics than those
found in theorem-proving programs. GPS, STRIPS, and its successor
ABS TRIPS are described in detail in Chapter n.
FOL (Filman and Weyhrauch, 1976) is, among other things, a very
flexible proof checker for proofs stated in first-order logic. Deduction is
done with the natural deduction system of Prawitz (1965), which in-
cludes the introduction and elimination rules of inference discussed
170 Knowledge Representation IE
above. FOL can more properly be viewed as a sophisticated, interactive
environment for using logic to study epistemological questions (see
Weyhrauch, 1978).
Logic and Representation
First-order logic, as we have described it, demands a clean syntax,
clear semantics, and, above all, the notions of truth and inference.
Clarity about what is being expressed and about the consequences of, or
possible inferences from, a set of facts is perhaps the most important
quality of this formalism.
In a classic paper, McCarthy and Hayes (1969) differentiate two
parts of the AI problem. The epistemological part was defined as
determining "what kinds of facts about the world are available to an
observer with given opportunities to observe, how these facts can be
represented in the memory of a computer, and what rules permit
legitimate conclusions to be drawn from these facts" (McCarthy, 1977).
The issue of processing, of using the knowledge once it is represented
(what McCarthy and Hayes called the heuristic part of the AI problem),
was separated from the representation issue. Given this distinction,
there are several reasons that logic can be a useful means for exploring
the epistemological problems.
1. Logic often seems a natural way to express certain notions. As
McCarthy (1977) and Filman (1979) pointed out, the expression
of a problem in logic often corresponds to our intuitive under-
standing of the domain. Green (1969) also indicated that a
logical representation was easier to reformulate; thus, experi-
mentation is made easier.
2. Logic is precise. There are standard methods of determining the
meaning of an expression in a logical formalism. Hayes (1977a)
presents a complete discussion on this issue and argues for the
advantages of logic over other representation systems on these
grounds.
3. Logic is flexible. Since logic makes no commitment to the kinds
of processes that will actually make deductions, a particular fact
can be represented in a single way, without having to consider
its possible use.
4. Logic is modular. Logical assertions can be entered in a data-
base independently of each other; knowledge can grow incremen-
tally, as new facts are discovered and added. In other repre-
sentational systems, the addition of a new fact might sometimes
adversely affect the kinds of deductions that can be made.
CI Logic 171
The major disadvantage of logic stems also from the separation of
representation and processing. The difficulty with most current AI
systems lies in the heuristic part of the system, that is, in determining
how to use the facts stored in the system's data structures, not in
deciding how to store them (e.g., QA3's failure with large databases).
Thus, separating the two aspects and concentrating on epistemological
questions merely postpone addressing the problem. Work on procedural
representation schemes, such as PLANNER (Article m.C2), and on frame-
based schemes (Article m.C7) are attempts to incorporate the heuristic
aspect into the epistemological; systems like GOLUX (Hayes, 1977b) and
FOL (Weyhrauch, 1978) are attempts to formalize control of processing
while retaining the logical precision.
References
Nilsson (1971) gives a brief, elementary introduction to the use of
logic in AI in Chapters 6 and 7, including an introduction to automated
theorem proving techniques. More thorough discussions can be found in
any of the introductory logic texts, like Manna (1973) and Suppes
(1957).
C2. Procedural Representations
The distinction between declarative and procedural representations of
knowledge has had a key role in the historical development of AI ideas.
Declarative representations stress the static aspects of knowledge — facts
about objects, events, and their relations and about states of the world.
The proponents of procedural representations pointed out that AI
systems had to know how to use their knowledge — how to find relevant
facts, make inferences, and so on — and that this aspect of knowledgeable
behavior was best captured in procedures. (Hayes, 1977a, discusses the
different kinds of knowledge amenable to different kinds of represen-
tation schemes.)
As a simple example of what it means to represent knowledge pro-
cedurally, consider what a typical alphabetization program could be said
to know about its task. The knowledge that "A comes before B in the
alphabet" is represented implicitly in the body of the alphabetization
procedure, which really does an integer comparison of the computer
codes for A and B. All computer programs incorporate procedural
knowledge of this sort. What the proceduralists pointed out was that,
while the knowledge about alphabetical order was implicit in such
a system, the knowledge about how to alphabetize was represented
explicitly in the alphabetization procedure. On the other hand, in a
declarative system, where knowledge about alphabetical order might be
explicitly represented as facts like A comes before B, B comes before C,
and so on, the knowledge about how to alphabetize is implicit in the
programs that manipulate those facts (theorem prover, production system
interpreter, etc.).
Before the advent of proceduralism, workers in AI focused on
determining what kinds of knowledge could be represented adequately in
formalisms like logic and semantic nets. Questions about how the data
structures involved could be manipulated effectively as the databases
grew larger were considered a secondary concern. The proceduralists
took exception to this view. They argued that the useful knowledge of
a domain is intrinsically bound up with the specialized knowledge about
how it is to be used (Hewitt, 1975). Through an evolving series of new
systems and AI programming languages, the proponents of procedural
knowledge representation brought concerns about the relevance and
utility of knowledge into the center of knowledge-representation research.
C2 Procedural Representations 173
Early Procedural Systems
The first AI systems that might be called procedural were not ex-
treme in their stance: Their factual knowledge was stored in a database
similar to those used by the then-popular theorem-proving programs, but
their reasoning was structured in a new way. (See Winograd, 1972, for
a discussion of the development of proceduralist ideas.)
Such an approach was used in Raphael's (1968) early question
answering system, SIR (see Article iV.Fi). SIR could answer questions
about simple logical relationships, such as Is a finger part of a person?
Its knowledge was stored in two forms: Facts about the parts of things
were represented as properties linked to the nodes representing the
objects, and the inference-making mechanism was represented as special-
ized procedures. Thus, to answer the question about a finger, SIR
would use two stored facts, that a finger is part of a hand and that a
hand is part of a person, and one procedure, a specialized induction
procedure that traced PART-OF links between nodes. The inference
routines were specialized in that they had to be custom-built for each
new type of inference and link in the database.
However, the most characteristically procedural quality of the SIR
system was that the meaning of an input sentence or question, the final
result of SIR's parsing stage, was a procedure. When executed, this
routine performed the desired action — either adding to the database or
printing information found therein. In other words, when the sentence
A finger is part of a hand was entered into the system, SIR produced
and immediately executed a procedure that added a PART-OF link to
the database between the FINGER node and the HAND node.
Woods (1968) implemented the most sophisticated of the early
procedural systems. His program handled questions about airline flight
schedules- The questions were translated into functions that, when run
over the system's database, produced the correct response. For example,
the question What American Airlines flights go from Boston to Chicago?
would be translated into the query language as:
(FOR-EVERY Xl/FLIGHT;
EQUAL (OWNER(Xl), ANERICAN-AIRLINES)
AND CONNECT (XI, BOSTON, CHICAGO);
LIST(Xl))
This expression of the question is a function (in the LISP pro-
gramming language) built from other specialized-knowledge procedures
like FOR-EVERY and CONNECT. When evaluated, this function would
174 Knowledge Representation IH
retrieve a list of all of the flights in the database, then find out which
of those were owned by American Airlines and went from Boston to
Chicago, and finally print the resulting list.
Representing How to Use Knowledge
The great advantage of the early procedural systems was that they
were directed in their problem- solving activity in the sense that they did
not use irrelevant knowledge or follow unnatural lines of reasoning.
These inefficient behaviors, characteristic of the early declarative systems
that blindly tried to apply anything they knew to the problem at hand
until something worked, were eliminated by the specialized inference
procedures. But this solution created problems of its own. In general,
as procedural systems become very complex, they become very hard for
people to understand and modify.
Thus, in the late 1960s there was an attempt to merge the two
types of representation, seeking the ease of modification of the de-
clarative systems (especially logic) and the directedness of the earlier
procedural systems. The essence of this approach was to represent
declarative knowledge of the kind typically encoded in logic expressions
along with instructions for its use. The thrust of the later work in
procedural representations was to try to find better ways of expressing
this control information.
Information about how to use a piece of knowledge might concern
various aspects of processing. One form of control is to indicate the
direction in which an implication can be used. For example, to encode
the idea that to prove that something flies you might want to show
that it is a bird, from which the desired conclusion follows, one might
write something like this:
(IF-MEEDED FLIES (X)
TRY-SHOWING BIRD (X))
Thus, if we are trying to prove that Clyde can fly, this heuristic
tells us to try first to prove that he is a bird. Note that the
knowledge that All birds can fly, as represented here, is not usable in
the other direction — if we learn that Fred is a bird, we will not be able
immediately to conclude anything about Fred being able to fly.
Another use of procedural knowledge is in trying to specify what
knowledge will be relevant to achieving a specific goal. For example, if
we expect that we might want to prove that something is a bird, and
that two facts called, say, THEOREM1 and THEOREM2 might be useful
in proving birdhood, we could write:
(GOAL BIRD (TRY-USING THEOREMl THE0REN2) ) .
C2 Procedural Representations 175
In essence, what has been done here is to embellish the straight-
forward deduction provided by resolution or natural deduction theorem
proving in a logic-based representation. The inferences here are con-
trolled; we have told the system how and when it can use the knowl-
edge that it has. Three major methods of specifying control information
have been tried:
1. Specify control by the way in which one states the facts; this is
the approach of the examples above and of PLANNER, dis-
cussed below.
2. Encode the representation language at a lower level, so that the
user has access to the set of mechanisms for specifying the
reasoning process. This is the approach taken in the CON-
NIVER programming language (see Sussman and McDermott,
1972, and Article VI.C2, in Vol. n).
3. Define an additional language, for expressing control information,
that works together with the representation language. This idea
was the foundation for the GOLUX project (Hayes, 1973) and
for Kowalski's (1974) predicate calculus programming.
Of the three approaches, the work on PLANNER was the most widely
used and was seminal for later work on procedural representations.
PLANNER: Guided Inference and Extended Logic
PLANNER (Hewitt, 1972) was an AI programming language designed
to implement both representational and control information. The fea-
tures of the language are described in Article VI.C2 (in Vol. n), and we
discuss here only those aspects relevant to knowledge representation.
The specific concern of the PLANNER research was not to facilitate the
class of inferences that were logically possible, as would be the focus in
theorem proving work, but to expedite the inferences that were expected
to be actually needed. This approach created its own problems; there
are some quite straightforward deductions that PLANNER is unable to
make, as will be discussed later.
The relevant features of the PLANNER language include being able
to specify whether theorems should be used in a forward or backward
direction and to recommend the use of specific theorems in given
situations, as described in the preceding section. In fact, the ability to
recommend pieces of knowledge was somewhat more general than in-
dicated previously. Besides recommending possibly useful theorems by
name, general classes of theorems could be suggested by the use of
filters. For example, the following PLANNER expression states that
176 Knowledge Representation m
using theorems about zoology might be a useful way to prove that
something is a bird:
(GOAL BIRD (FILTER ABOUT-ZOOLOGY)) .
The implementation of these inference guiding control features did
not change the nature of the possible inferences themselves. However,
other procedural knowledge implemented in PLANNER did allow infer-
ences beyond those found in classical logical systems, particularly the
various forms of default reasoning (Reiter, 1978). One form of default,
as implemented in PLANNER, is the THNOT primitive. For example,
the expression
(THNOT OSTRICH (X) ASSUME FLIES (X))
refers to all birds, X, and means that unless it can be shown that X is
an ostrich, assume that it can fly.
The primitive THNOT can function correctly only if certain aspects
of our knowledge are complete. In the above example, we assume that,
if X were an ostrich, we would either know that fact or have some way
to deduce it. If the knowledge base is not complete in this sense, the
system might make incorrect inferences. This is not necessarily a seri-
ous problem; there might be times that we want the system to "jump
to conclusions." This will be discussed later.
THNOT and similar functions take us beyond the realm of ordinary
logic, since they violate the property of monotonicity. Monotonicity
states that if a conclusion is derivable from a certain collection of facts,
the same conclusion remains derivable if more facts are added. Thus,
procedural and declarative systems implement different logics (Reiter,
1978). As Hewitt (1972) points out, the logic of PLANNER is a com-
bination of classical logic, intuitionistic logic, and recursive function
theory. Winograd (1980a) outlines a taxonomy of extended inference
modes that are outside the provision of ordinary logic.
PLANNER thus serves as a programming language in which
knowledge about both the problem to be solved and the methods of
solution can be stated in a modular, flexible style reminiscent of logic.
The intent is that the user be able to state as much or as little
domain- specific knowledge as required. The most extensive use of
PLANNER was in Winograd's (1972) SHRDLU system (see Article IV.F4).
A number of AI programming language projects followed PLANNER,
including CONNIVER (Sussman and McDermott, 1972), QA4 (Rulifson,
Derkson, and Waldinger, 1972), POPLER (Davies, 1972), and QLISP
(Reboh et al., 1976). For further discussion of many of these languages,
see Chapter VI, in Volume n.
C2 Procedural Representations 177
Advantages and Disadvantages of Procedural Representations
Chief among the advantages of using procedures to represent knowl-
edge is their facility for representing heuristic knowledge, especially
domain- specific information that might permit more directed deduction
processes. This includes information about whether a theorem should be
used in a backward or a forward direction, about what knowledge
should be applied in a given situation, and about which subgoals should
be tried first. The most important result of this ability to encode
heuristic knowledge is the directedness realized by such systems, which,
of course, is crucial in large systems that would get bogged down if the
problem solving were not efficient. Efficiency in this sense was the
motivation behind most of the work on procedural representations.
A related advantage is the ability to perform extended-logical in-
ferences, like the default reasoning described in the preceding section.
There are attempts to achieve this kind of informal or plausible
reasoning in more formal logical systems (McCarthy, 1977). Winograd
(1980a) discusses this issue further, arguing that these types of inferences
are necessary in a system that attempts to model human reasoning.
Procedural representation may also be at an advantage with regard
to what is called modeling, particularly in relation to the frame problem
as identified by McCarthy and Hayes (1969). This difficulty, common to
all representation formalisms, is their inability to model side effects of
actions taken in the world by making corresponding modifications in the
database representing the state of the world. (Note that the frame
problem has nothing to do with the frame as a representation formalism,
discussed in Article m.C7.) For example, suppose we are reasoning
about a robot, with a key, moving from ROOM-1 to ROOM-2 to find
and unlock a safe. The initial situation, S0, might be represented in
the database with assertions like:
1. IN (ROOM-1, ROBOT, SO)
2. IN (R00M-1, KEY, SO)
3. IN (ROOM-2, SAFE, SO)
After the robot has moved from ROOM-1 to ROOM-2, the system
must somehow know that assertions 1 and 2 are now false, while
assertion 3 is still true.
In a large system with many facts, keeping track of these changes —
especially the side effects of actions, like the moving of the key to the
safe — can be very tricky. The propagation of those facts that have not
changed is sometimes much easier in a procedural system: The
procedure that performs the actions can update the database
immediately. (See also the discussion of a similar way of dealing with
the the frame problem in a direct representation, Article m.C5.)
178 Knowledge Representation EI
Two problems of the procedural approach in relation to more formal
representational schemes concern completeness and consistency. Many-
procedural systems are not complete, meaning that there are cases in
which a system like PLANNER could know all the facts required to
reach a certain conclusion but not be powerful enough to make the
required deductions (Moore, 1975). Of course, completeness is not nec-
essarily always desirable. There are cases when we might want the
system to work quickly and not spend a long time finding a particular
answer or concluding that it cannot find the answer.
A deductive system is consistent if all its deductions are correct —
that is, if the conclusion necessarily follows from the premises. Again,
most theorem-proving systems have this property, but procedural sys-
tems often do not. For example, the use of default reasoning can
introduce inconsistency in the presence of incomplete knowledge. Thus,
if we use the fact that Fred is a bird to conclude that he can fly and
later discover that he is an ostrich, we will have inconsistency. Hewitt
(1975) refers to this as the "Garbage In — Garbage Out" principle.
Like completeness, consistency is not necessarily always desirable.
McDermott and Doyle (in press) argue that much of our reasoning is
done by revising our beliefs in the presence of new information.
Similarly, Hewitt points out that most of our knowledge is not absolute;
we regularly accept caveats and exceptions. If we control the reasoning
sufficiently tightly in the presence of inconsistency, the Garbage In —
Garbage Out effect can be avoided.
Another drawback of procedural representations in their current form
is that the control information sometimes gets in the way. For ex-
ample, if we want to prove that both statements A and B are true,
PLANNER allows us to express this as a goal: (THAND A B). But
this expression really means, "Prove A and then prove B" — there is no
way to state the goal without including some control information.
Another feature that is sacrificed in the procedural approach is the
modularity of knowledge in the database that was so advantageous in
logic and other declarative schemes. In a procedural representation, the
interaction between various facts is unavoidable because of the heuristic
information itself. Therefore, a change in or addition to the knowledge
base might have more far-reaching effects than a similar change in a
base of logic assertions. In essence, this is the price that is paid for the
greater degree of control permitted using procedures.
Two specific criticisms have been directed at PLANNER'S method of
specifying control. First, it is too local: PLANNER is unable to
consider the overall shape of the problem's solution and therefore can
make only local problem-solving decisions. Second, PLANNER cannot
C2 Procedural Representations 179
reason about its control information; ideally, it should be able to make
decisions on the basis of facts about control, as it can now make de-
cisions on the basis of facts about the world.
Conclusions
The consensus among AI researchers is that there should be ways to
embed control in a deductive system, but that the methods tried thus
far have many flaws in them (see, e.g., Moore, 1975, Chap. 5). Current
research, especially on frame systems (Article m.C7), emphasizes a
somewhat different approach to the problem of organizing knowledge
with special regard to its expected use, called procedural attachment.
References
The most readable discussion of the issues involved in procedural
knowledge representation is Winograd (1975). Hayes (1977a) presents
these issues from the perspective of a declarativist. The original state-
ment of what procedural representation was all about is Hewitt (1972)
and, more readably, Winograd (1972). Winograd (in press) offers a
recent study of knowledge representation in which procedural ideas are
fully discussed.
C3. Semantic Networks
Many of the recent systems developed in AI research use a class of
knowledge representation formalisms that are called semantic networks.
These representation formalisms are grouped together because they share
a common notation, consisting of nodes (drawn as dots, circles, or boxes
in illustrations) and arcs (or links; drawn as arrows) connecting the
nodes. Both the nodes and the arcs can have labels. Nodes usually
represent objects, concepts, or situations in the domain, and the arcs
represent the relations between them.
The superficial similarity of this notation is all that some semantic
network systems have in common. For example, researchers in
psychology, such as Quillian (1968), Norman and Rumelhart (1975), and
Anderson and Bower (1973), have developed semantic network systems
primarily as psychological models of human memory. Researchers in
computer science have been more concerned with developing functional
representations for the variety of types of knowledge needed in their
systems. Because of these diverse goals, there is no simple set of
unifying principles to apply across all semantic network systems. This
article, however, will attempt to characterize some of the most common
network schemes. We will present a description of how simple concepts
are represented in semantic networks and then review some AI systems
that use semantic networks. Finally, some more difficult problems in
semantic net representation will be mentioned and some of the proposed
solutions reviewed.
A Basic Description of the Representation Scheme
Suppose we wish to represent a simple fact like All robins are birds
in a semantic network. We might do this by creating two nodes to
designate robins and birds with a link connecting them, as follows:
1 ' sa i
ROBIN ► BIRD
C3
Semantic Networks
181
If Clyde were a particular individual who we wished to assert is a
robin, we could add a node for Clyde to the network as follows:
CLYDE
i sa
ROBIN
i sa
BIRD
Notice that in this example we have not only represented the two
facts we initially intended to represent, but we have also made it very
easy to deduce a third fact, namely, that Clyde is a bird, simply by
following the ISA links: Clyde is a robin. Robins are birds. So, Clyde
is a bird. The ease with which it is possible to make deductions about
inheritance hierarchies such as this is one reason for the popularity of
semantic networks as a knowledge representation. In a domain where
much of the reasoning is based on a very complicated taxonomy, a
semantic network is a natural representation scheme (see, e.g., the
PROSPECTOR system, Article F2).
Besides their taxonomic classification, one usually needs to represent
knowledge about the properties of objects. For example, one might
wish to express the fact Birds have wings in the network. We could do
this as follows:
sa
sa
CLYDE
ROBIN
BIRD
has— part
WINGS
182
Knowledge Representation
m
As in the previous example, our choice of representation has made it
very easy to write a procedure to make the deductions that robins have
wings and that Clyde has wings. All that is necessary is to trace up
the ISA-hierarchy, assuming any facts asserted about higher nodes on
the hierarchy can be considered assertions about the lower ones also,
without having to represent these assertions explicitly in the net. In AI
terminology, this kind of reasoning is called property inheritance, and
the ISA link is often referred to as a property inheritance link.
Suppose we wish to represent the fact Clyde owns a nest. Our first
impulse may be to encode this fact using an ownership link to a node
representing Clyde's nest:
CLYDE
i sa
ROBIN
isa
BIRD
owns
JEST— 1
i sa
I EST
In the above example, NEST-1 is the nest that Clyde owns. It is an
instance of NEST; that is, the NEST node represents a general class of
objects of which the NEST-1 node represents an example. The above
representation may be adequate for some purposes, but it has short-
comings. Suppose one wanted to encode the additional information that
Clyde owned NEST-1 from spring until fall. This is impossible to do in
the current network because the ownership relation is encoded as a link,
and links, by their nature, can encode only binary relations. What is
needed is the semantic- net equivalent of a four-place predicate in logic,
which would note the start-time and end-time of the ownership relation,
as well as the owner and the object owned.
A solution to this problem was proposed by Simmons and Slocum
(1972) and later adopted in many semantic net systems: to allow nodes
to represent situations and actions, as well as objects and sets of
objects. Each situation node can have a set of outgoing arcs, called a
case frame, which specifies the various arguments to the situation
predicate. For example, using a situation node with case arcs, the
network representation of the fact Clyde owned a nest from spring until
fall becomes
C3
Semantic Networks
183
CLYDE
i sa
ROBIN
i sa
BIRD
owner
OWM-1
ownee
NEST-1
i sa
NEST
sa
sta rt—t i me
i sa
Spri ng
TINE
end— ti me
Fa
sa
OWNERSHIP
sa
SITUATION
The node NEST-1 is created to represent Clyde's nest, which, of course,
ISA nest, as shown. The OWN-1 node represents a particular instance
of OWNERSHIP, namely, Clyde owning his nest. And like all nodes
that are instances of OWNERSHIP, OWN-1 inherits case arcs to
OWNER, OWNEE, START-TIME, and END-TIME nodes. Many semantic
network systems use sets of case arcs motivated by linguistic con-
siderations, for example, general case structures for agent and object (see
Article IV. C4). One important use of the case- frame structure for nodes
is the possibility of allowing instance nodes, like OWN-1, to inherit
expectations about, and even default values for, certain of their attri-
butes (see Article m.C7 for a discussion of inheritance in frame systems).
One more thing to note about the representation scheme described
above is that it lends itself to the expression of states and actions in
terms of a small number of primitive concepts. For example, FLYING
might be considered a type of MOTION and could be represented by a
FLYING node having an ISA arc to the MOTION node and case arcs
that describe how flying is a specialization of moving. The use of a
small number of semantic primitives as the basis of a system's knowl-
edge representation has both advantages and disadvantages, and it is
discussed fully in Article m.C6.
184
Knowledge Representation
m
There are still some serious problems with our semantic net
representation as it has been developed so far. Suppose one wished to
make the assertion The robin is an endangered species. The simplest
thing to do would be to create the following representation for this fact
in our net structure:
BIRD
1 1 a o — u a i kj
WINGS
stud i ed— by
I ^a
i sa
CLYDE
ROBIN
'
i sa
f
»
ENDANGERED
cpcrjpc;
NATURALISTS
This structure indicates that ROBINS are an ENDANGERED SPECIES,
and that ENDANGERED SPECIES are studied by NATURALISTS. The
problem that is illustrated in this simple example involves inheritance.
Since the reasoning procedures, as they have been defined, treat the ISA
link as a property inheritance link, the instance node CLYDE inherits all
the properties of ENDANGERED SPECIES, just as it inherits the
property of having wings from the BIRD node. In this way, one might
conclude from the fact that Naturalists study endangered species that
Naturalists study Clyde, which may or may not be true.
The source of the problem is that that there is as yet no distinction
in our network formalism between an individual and a class of
individuals. Furthermore, some things said about a class are meant to
be true of all members of a class, like Robins are birds, while some
refer to the class itself, for example, Robins are an endangered species.
Recent semantic net research has explored various ways of making the
semantics of network structures more precise and of specifying different
property inheritance strategies (Woods, 1975b; Hendrix, 1976; Brachman,
1979; Stefik, 1980).
C3 Semantic Networks 185
A Brief History of Semantic-network-based Systems
The node-and-link formalism of semantic networks has found use in
many AI systems in different application domains. It is impossible to
mention every one of these systems here, but we will try to note the
highlights and point out where in the AI literature these and related
systems are described more fully.
Ross Quillian (1968) designed two early semantic-network-based sys-
tems that were intended primarily as psychological models of associative
memory. Quillian was the first to make use of the node-and-link
formalism, but his networks were simpler than those in the bird's nest
example above: They consisted of a number of groups of nodes, called
planes. Each plane encoded knowledge about a particular concept
through interconnections of nodes representing other concepts in the
system. These interconnecting links allowed a few simple ways of
combining concepts: conjunction, disjunction, and the modification of
one concept by another.
Quillian wrote procedures that manipulated the network to make
inferences about a pair of concepts by finding connections between the
nodes that represented them. The method, called spreading activation,
started from the two nodes and "activated" all the nodes connected to
each of them. Then all of the nodes connected to each of those were
in turn activated, forming an expanding sphere of activation around
each of the original concepts. When some concept was activated simul-
taneously from two directions, a connection had been found. The
program then tried to describe the connecting route through the net in
a stylized version of English (see Article IV.E for an example).
Quillian' s second system, called the Teachable Language Com-
prehender (1969), attempted to solve some of the problems with the
original system, like the lack of directedness in the net search, and was
a bit more complex. Other semantic-network-based computer programs
that were designed as psychological models of memory, including the
HAM program (Anderson and Bower, 1973) and the Active Structural
Network system (Norman and Rumelhart, 1975), are described fully in
Chapter XI, in Volume m.
Bertram Raphael's (1968) early AI system, SIR, mentioned earlier in
Article m.C2, was one of the first programs to use semantic network
techniques. SIR could answer questions requiring a variety of simple
reasoning tasks, such as A finger is part of a hand; a hand is part of an
arm; therefore a finger is part of an arm. Although he did not claim
to use a node-and-link formalism, Raphael's use of binary predicates,
such as PART-OF (FINGER, HAND), and reasoning procedures was much
186 Knowledge Representation IE
like the early semantic net systems and faced many of the same
problems that these systems faced. (SIR is described in Article IV.Fi on
early natural language understanding systems.)
In the early 1970s, Robert Simmons designed a semantic network
representation for use in his research on natural language understanding.
As mentioned in the previous section, Simmons 's system used a lin-
guistically motivated case frame approach for choosing arc types. The
system could parse sentences (with an ATN grammar), translate their
meaning into network structures, and finally generate answers to ques-
tions using the semantic network (Simmons and Slocum, 1972; Simmons,
1973).
Around the same time, Jaime Carbonell used a semantic network as
the basis of his tutoring program, SCHOLAR, which answered questions
about the geographical information stored in the net. In a mixed ini-
tiative dialogue on the subject of South American geography, SCHOLAR
answered questions posed by the student and also generated appropriate
questions on its own initiative, giving timely hints when necessary
(Carbonell, 1970; Carbonell and Collins, 1974; SCHOLAR is described
fully in Article DC.Ci, in Vol. n).
Two of the AI speech understanding systems, the systems developed
at Bolt, Beranek and Newman (Woods et al., 1976) and SRI Inter-
national (Walker, 1976), used semantic networks to represent knowledge
about their subject domains (see Chap. v). In connection with the SRI
speech understanding research, Hendrix (1976) developed the idea of
network partitioning, which provides a mechanism for dealing with a
variety of difficult representation problems including representing logical
connectives, quantification, and hypothetical worlds.
Recent network research involves structuring of the nodes and links
in the network and is related to the work on frame systems described
in Article m.C7. For example, Myopolous and his associates (1975)
designed a system for grouping related parts of a semantic network into
units called scenarios. The network was used by the TORUS system, a
program to provide natural-language access to a database management
system. Hayes (1977b) also designed a system that incorporates higher
level structures similar to scenarios, which he calls depictions.
Reasoning with Semantic Networks
In semantic network representations, there is no formal semantics,
no agreed-upon notion of what a given representational structure means,
as there is in logic, for instance. Meaning is assigned to a network
structure only by the nature of the procedures that manipulate the
C3
Semantic Networks
187
network. A wide variety of network-based systems have been designed
that use totally different procedures for making inferences.
One example of a network reasoning procedure was Quillian's
spreading activation model of human memory, described above. However,
the reasoning mechanism used by most semantic network systems is
based on matching network structures: A network fragment is con-
structed, representing a sought-for object or a query, and then matched
against the network database to see if such an object exists. Variable
nodes in the fragment are bound in the matching process to the values
they must have to make the match perfect. For example, suppose we
use the following network as a database
CLYDE
sa
ROBIM
sa
owner
0WM1
ownee
NEST1
isa
BIRD
NEST
sa
OWNERSHIP
isa
SITUATION
and suppose we wish to answer the question What does Clyde own? We
might construct the fragment
CLYDE
owner
OWN-?
ownee
sa
OWNERSHIP
188
Knowledge Representation
m
which represents an instance of OWNERSHIP in which Clyde is the
owner. This fragment is then matched against the network database
looking for an OWN node that has an OWNER link to CLYDE. When
it is found, the node that the OWNEE link points to is bound in the
partial match and is the answer to the question. Had no match been
found, the answer would have been, of course, Clyde doesn't own any-
thing.
The matcher can make inferences during the matching process to
create network structure that is not explicitly present in the network.
For example, suppose we wish to answer the question Is there a bird
who owns a nest? We could translate that question into the following
network fragment:
BIRD-?
owner
0WM-?
sa
OWNERSHIP
sa
ownee
BIRD
NEST-?
sa
JEST
Here, the BIRD-?, NEST-?, and OWN-? nodes represent the yet to be
determined bird-owning-nest relation. Notice that the query network
fragment does not match the knowledge database exactly. The de-
duction procedure would have to construct an ISA link from CLYDE to
BIRD to make the match possible. The matcher would bind BIRD-? to
the node CLYDE, OWN-? to OWN-1, and NEST-? to NEST-1, and the
answer to the question would be Yes, Clyde, since the CLYDE node was
bound to BIRD-? in order to match the query fragment to the database.
A good example of a network deduction system constructed around
this matching paradigm is the SNIFFER system (Fikes and Hendrix,
1977). SNIFFER has the general power of a theorem prover for making
deductions from the network database. It is also capable of taking
advantage of heuristic knowledge embedded in procedures called selector
functions, which provide advice about which network elements should be
matched first and about how to match the selected element. These
heuristics allow the system to proceed in a direct and sensible way when
C3 Semantic Networks 189
the amount of information in the database becomes very large and blind
retrieval strategies, like spreading activation or systematic matching, are
useless because they take too long to retrieve an answer.
Status of Network Representations
Semantic networks are a very popular representation scheme in AI.
Node-and-link structure captures something essential about symbols and
pointers in symbolic computation and about association in the psy-
chology of memory. Most current work on the representation of
knowledge involves elaboration of the semantic net idea, in particular,
work on aggregate network structures called frames. But like most of
the efforts to deal with knowledge in AI, the simple idea of having
nodes that stand for things in the world and links that represent the
relations between things can't be pushed too far. Besides computational
problems that arise when network databases become large enough to
represent nontrivial amounts of knowledge, there are many, more subtle
problems involving the semantics of the network structures. What does
a node really mean? Is there a unique way to represent an idea? How
is the passage of time to be represented? How does one represent
things that are not facts about the world but rather ideas or beliefs?
What are the rules about inheritance of properties in networks? Cur-
rent research on network-representation schemes attempts to deal with
these and similar concerns.
References
Introductory discussions of semantic networks can be found in
Simmons (1973), Anderson and Bower (1973), Norman and Rumelhart
(1975), and Winograd (in press). Current semantic network research is
surveyed in the articles in Findler (1979).
C4. Production Systems
Production systems were first proposed by Post (1943) but have
since undergone such theoretical and application-oriented development in
AI that the current systems have little in common with Post's for-
mulation. In fact, just as the term semantic net refers to several
different knowledge-representation schemes based on the node-and-link
formalism, so the term production system is used to describe several
different systems based on one very general, underlying idea — the notion
of condition-action pairs, called production rules, or just productions. In
this article we illustrate the basics of a production system (PS) with an
elementary example and discuss some of the design decisions that give
rise to the variety of production system architectures. We also describe
some of the important AI systems that have been built with PS
architectures and discuss current issues in PS design.
A Sample Production System
A production system consists of three parts: (a) a rule base com-
posed of a set of production rules; (b) a special, buffer-like data struc-
ture, which we shall call the context; and (c) an interpreter, which
controls the system's activity. After briefly describing each of these
components, we'll go step by step through an example to show how a
production system works.
A production rule is a statement cast in the form "If this condition
holds, then this action is appropriate." For example, the rule
Always punt on fourth down with long yardage required
might be encoded as the production rule
IF it is fourth down AND long yardage is required THEN punt.
The IF part of the productions, called the condition part or left-hand
side, states the conditions that must be present for the production to be
applicable, and the THEN part, called the action part or right-hand side,
is the appropriate action to take. During the execution of the pro-
duction system, a production whose condition part is satisfied can fire,
that is, can have its action part executed by the interpreter. Although
there are only a few productions in the rule base of our example below,
typical AI systems nowadays contain hundreds of productions in their
rule bases.
The context, which is sometimes called the data or short-term
C4 Production Systems 191
memory buffer, is the focus of attention of the production rules. The
left-hand side of each production in the rule base represents a condition
that must be present in the context data structure before the production
can fire. For example, the sample production above requires that the
facts it's fourth down and long yardage required be in the context. The
actions of the production rules can change the context, so that other
rules will have their condition parts satisfied. The context data struc-
ture may be a simple list, a very large array, or, more typically, a
medium-sized buffer with some internal structure of its own.
Finally there is the interpreter, which, like the interpreters in all
computer systems, is a program whose job is to decide what to do next.
In a production system, the interpreter has the special task of deciding
which production to fire next.
Consider a production system that might be used to identify food
items, given a few hints, by a process similar to that used in the game
of Twenty Questions. The context data structure for this system is a
simple list of symbols, called a context list (CL). "On-CL X" means
that the symbol X is currently in the context. The system has the
following rule base and interpreter.
PRODUCTIONS:
PI. IF On-CL green THEN Put-On-CL produce
P2. IF On-CL packed in small container THEN Put-On-CL delicacy
P3. IF On-CL refrigerated OR On-CL produce THEN Put-On-CL
perishable
P4. IF On-CL weighs 15 lbs AND On-CL inexpensive AND NOT On-
CL perishable THEN Put-On-CL staple
P5. IF On-CL perishable AND On-CL weighs 15 lbs THEN Put-On-
CL turkey
P6. IF On-CL weighs 15 lbs AND On-CL produce THEN Put-On-CL
watermelon
INTERPRETER:
1. Find all productions whose condition parts are TRUE and make
them applicable.
2. If more than one production is applicable, then deactivate any
production whose action adds a duplicate symbol to the CL.
3. Execute the action of the lowest numbered (or only) applicable
production. If no productions are applicable, then quit.
4. Reset the applicability of all productions and return to SI.
192 Knowledge Representation HI
The condition part of each of the productions corresponds to a
question one might ask in the Twenty Questions game: Is the item
green? does it come in a small container? and so on. The action parts
of the productions represent additions to our knowledge about the un-
known item.
Production systems operate in cycles. In each cycle, the productions
are examined in a manner specified by the interpreter to see which are
appropriate and could fire. Then, if more than one is found appro-
priate, a single production is selected from among them. Finally, the
production is fired. These three phases of each cycle are called match-
ing, conflict resolution, and action.
Suppose the original knowledge about the mystery food item is that
it is green and weighs 15 pounds; in other words, the value of the con-
text list before the beginning of the first cycle is:
CL = (green, weighs 15 lbs) .
The cycle starts with step 1 of the interpreter algorithm: finding all
the applicable productions by testing their condition parts. Since only
PI is applicable, step 2 is not necessary, and step 3 causes the action
part of PI to be executed. This adds the symbol produce to the con-
text list, representing a new fact about the unknown food item:
CL = (produce, green, weighs 15 lbs) .
Step 4 ends the first cycle and brings us back to step 1 — finding all
the applicable productions. In the second cycle, productions PI, P3, and
P6 are all applicable. So in step 2 we must check if any of these three
adds a duplicate symbol to the context list. PI adds produce, which is
a duplication, so it is eliminated. Then in step 3 we select P3 to be
executed (because it has a lower number than P6), resulting in:
CL = (perishable, produce, green, weighs 15 lbs) .
In the third cycle, we find that productions PI, P3, P5, and P6 are
applicable. Checking, in step 2, for redundant entries, we eliminate PI
and P3 from consideration. In step 3, we decide to execute P5, once
again because it comes before P6. This results in the context list
CL = (turkey, perishable, produce, green, weighs 15 lbs) .
Clearly this last step was a mistake — we wouldn't want to ascribe to
something that we know is green produce the attribute turkey.
In its next two cycles of execution, our sample production system
will finish. In cycle 4, the symbol watermelon is added to the context
list, and in the last cycle, finding no nonredundant productions to fire,
the interpreter finally quits, leaving the context list
C4 Production Systems 193
CL = (watermelon, turkey, perishable, produce, green, weighs 15 lbs) .
If we define the system's answer to be the first symbol on the context
list, we can ignore the suspicious attribute turkey. The reader can
probably think of more satisfying ways to "fix up" the rule base, or the
interpreter, such as changing the productions (particularly adding con-
ditions to the condition part of P5), switching the order of the produc-
tions in the rule base around, adding new productions, and so on. This
feeling of manageability of the rule base is perhaps one of the strongest
attractions of production systems as a knowledge-representation scheme.
Advantages and Disadvantages of Production Systems
Production systems have most often been used in AI programs to
represent a body of knowledge about how people do a specific, real-
world task, like speech understanding, medical diagnosis, or mineral ex-
ploration. In psychology, production systems have also been a popular
tool for modeling human behavior, perhaps because of the stimulus-
response character of production rules (Anderson and Bower, 1973;
Newell, 1973b). These psychological models are described in Chapter xi,
in Volume m. The AI systems based on productions have been quite
diverse in most respects, but there are some features of the production-
system formalism, both good and bad, that can be generalized.
Modularity. One obvious quality of production systems is that the
individual productions in the rule base can be added, deleted, or
changed independently. They behave much like independent pieces of
knowledge. Changing one rule, although it may change the performance
of the system, can be accomplished without having to worry about
direct effects on the other rules, since rules communicate only by means
of the context data structure (looking to see if their conditions are
satisfied in the context and then modifying the context); they don't call
each other directly. This relative modularity of the rules is important in
building the large rule bases of current AI systems — knowing what a
proposed rule will mean, in whatever situation it is used, makes the
creation of the database much easier. There are indications, however,
that modularity is harder to maintain as one moves to larger systems
(Rychener, 1976), and, even if modularity can be preserved, strongly
constraining interaction between rules leads to inefficiencies that might
become important problems in large systems (see below).
Uniformity. Another general attribute of production systems is the
uniform structure imposed on the knowledge in the rule base. Since all
194 Knowledge Representation HI
information must be encoded within the rigid structure of production
rules, it can often be more easily understood, by another person, or by
another part of the system itself, than would be possible in the rel-
atively free form of semantic net or procedural representation schemes,
for example. Production systems that examine and automatically mod-
ify their own rules are exemplified by those of Waterman, Davis, and
Anderson (see below).
Naturalness. A further advantage of the production- system for-
malism is the ease with which one can express certain important kinds
of knowledge. In particular, statements about what to do in prede-
termined situations are naturally encoded into production rules. Fur-
thermore, it is these kinds of statements that are most frequently used
by human experts to explain how they do their jobs.
Inefficiency. There are, however, significant disadvantages inherent
in the production- system formalism. One of these is inefficiency of pro-
gram execution. The strong modularity and uniformity of the produc-
tions result in high overhead in their use in problem solving. For
example, since production systems perform every action by means of the
match- action cycle and convey all information by means of the context
data structure, it is difficult to make them efficiently responsive to
predetermined sequences of situations or to take larger steps in their
reasoning when the situation demands it (see Barstow, 1979). Lenat
and McDermott (1977) propose solutions to this type of problem, sac-
rificing some of the advantages of production systems.
Opacity. A second disadvantage of the production- system formalism
is that it is hard to follow the flow of control in problem solving —
algorithms are less apparent than they would be if they were expressed
in a programming language. In other words, although situation- action
knowledge can be expressed naturally in production systems, algorithmic
knowledge is not expressed naturally. Two factors that contribute to
this problem are the isolation of productions (they don't call each other)
and the uniform size of productions (there is nothing like a subroutine
hierarchy in which one production can be composed of several sub-
productions). Function calls and subroutines, common features of all
programming languages, would help to make the flow of control easier to
follow.
Appropriate Domains for Production Systems
The features of production systems described in the previous section
can be seen as having both good and bad consequences. A more fruit-
ful way to evaluate the utility of production systems is to characterize
C4 Production Systems 195
the domains for which production rules might be a useful knowledge-
representation scheme. Davis and King (1977) proposed as appropriate —
1. domains in which the knowledge is diffuse, consisting of many
facts (e.g., clinical medicine), as opposed to domains in which
there is a concise, unified theory (physics);
2. domains in which processes can be represented as a set of
independent actions (a medical patient-monitoring system), as
opposed to domains with dependent subprocesses (a payroll pro-
gram);
3. domains in which knowledge can be easily separated from the
manner in which it is to be used (a classificatory taxonomy,
like those used in biology), as opposed to cases in which rep-
resentation and control are merged (a recipe).
Rychener (1976) rephrased this characterization of appropriate domains
in AI terms: If we can view the task at hand as a sequence of tran-
sitions from one state to another in a problem space (see Article n.A),
we can model this behavior with production systems, since each tran-
sition can be effectively represented by one or more production firings.
The following examples of important AI production systems may help
demonstrate their utility.
Waterman (1970) implemented an adaptive production system to play
the game of draw poker (see Article XV.D3, in Vol. m). The program
was adaptive in that it automatically changed the productions in its rule
base — it started with a set of fairly simple heuristics for playing poker
(when to raise, when to bluff, etc.) and extended and improved these
rules as it gained experience in actually playing the game. The fact
that knowledge in production systems is represented in a constrained,
modular fashion facilitated the learning aspect of the system, since the
program needed to analyze and manipulate its own representation.
Other examples of production systems that model human learning are
those of Hedrick (1976), Vere (1977), and Anderson, Kline, and Beasley
(1979).
The MYCIN system (Shortliffe, 1976; Davis, Buchanan, and Shortliffe,
1977) acts as a medical consultant, aiding in the diagnosis and selection
of therapy for patients with bacteremia or meningitis infections (see
Article vm.Bi, in Vol. n). It carries on an interactive dialogue with a
physician and is capable of explaining its reasoning. It also includes a
knowledge acquisition subsystem, TEIRESIAS, which helps expert phy-
sicians expand or modify the rule base (Article vn.B, in Vol. n).
MYCIN'S rule base contains several hundred production rules representing
human-expert-level knowledge about the domain. The system is
196 Knowledge Representation in
distinguished by its use of a backward chaining control structure (see
below) and inexact reasoning, involving confidence factors that are
attached to the conclusion part of each production to help determine
the relative strengths of alternative diagnoses.
Lenat (in press) modeled the process of discovery in mathematics,
viewed as heuristic search, in his AM production system (see Article
VTI.D2, in Vol. n). AM started with a minimal knowledge of mathe-
matical concepts and used heuristics, represented as production rules, to
expand its knowledge about these concepts and learn new ones. In the
course of its operation, AM discovered a large number of important
mathematical concepts, such as prime numbers and the arithmetic
functions, and also two mathematical concepts that had not been
discovered before. AM is especially important because of its sophis-
ticated data structures and control mechanisms.
Rychener (1976) built several production systems to reimplement a
number of AI systems that had been developed previously with other
techniques, including Bobrow's STUDENT, Newell and Simon's GPS, Fei-
genbaum's EPAM, Winograd's SHRDLU, and Berliner's CAPS. Rychener's
intent was to show that the production- system formalism was a natural
one for programming. His primary problem was the difficulty of build-
ing very complex control structures (Rychener, 1977).
Current Issues in the Design of Production Systems
Complexity of left- and right-hand sides. The structure of the two
sides of the productions in the rule base has been progressively extended
as the size and complexity of systems have increased, so that in many
current systems the left-hand side (LHS) is a LISP function that can
evaluate an arbitrarily complex condition. In some systems, the testing
of the LHS can even have side effects, so that the rule can alter the
context or change the control sequence without ever being fired.
Similarly, the form of the right-hand side (RHS) has been extended to
include variables, whose values are bound during the test phase of the
cycle, and to allow arbitrary programs to be run rather than just
making changes in the context. These programs usually specify actions
in terms of a set of domain- specific conceptual primitives. In some
systems (Riesbeck, 1975; Rychener, 1976) these actions could include
activation or deactivation of sets of other productions. Again, this rep-
resents a radical extension of the original production- system formalism.
Structure of the rule base and context. Of the three phases of each
production-system cycle — matching, conflict resolution, and action — the
matching process uses by far the most computational resources. As
C4 Production Systems 197
production systems have become bigger and more complex, questions of
efficiency have necessitated making both the rule base and the context
into more complex data structures. For example, to allow rapid
determination of which productions are applicable in a given situation
without checking through all of the rule base, the productions are often
indexed or partitioned according to conditions that will make them fire
(see Davis, in press; Lenat and McDermott, 1977). The context data
structure has increased in internal complexity both to make it more
efficient and to allow it to represent more complicated situations.
MYCIN'S context tree (Shortliffe, 1976), HEARSAY'S blackboard (Erman
and Lesser, 1975), and PROSPECTOR'S semantic net (Duda et al., 1978)
are examples of complex context data structures. A good example of
the work in organizing the rule base and database is that of
McDermott, Newell, and Moore (1978).
Conflict resolution. In practice, it is often the case that more than
one rule could fire in each cycle of the operation of a typical large
production system; the system is required to choose one rule from
among this set (called the conflict set). This conflict resolution phase of
each cycle is where basic cognitive traits like action sequencing,
attention focusing, interruptibility, and control of instability are realized.
Several different approaches to conflict resolution have been tried,
including choosing —
1. the first rule that matches the context, where "first" is defined
in terms of some explicit linear order of the rule base;
2. the highest priority rule, where "priority" is defined by the
programmer according to the demands and characteristics of the
task (as in DENDRAL);
3. the most specific rule, that is, the one with the most detailed
condition part that matches the current context;
4. the rule that refers to the element most recently added to the
context;
5. a new rule, that is, a rule-binding instantiation that has not
occurred previously;
6. a rule arbitrarily;
7. not to choose — exploring all the applicable rules in parallel (as
in MYCIN).
Different systems use different combinations of these simple conflict-
resolution methods, some of which become quite complicated scheduling
algorithms (see, e.g., AM and HEARSAY). Good discussions of conflict
resolution can be found in Davis and King (1977). Also, McDermott
198 Knowledge Representation m
and Forgy (1978) discuss the way conflict-resolution strategies affect two
important characteristics for production systems: sensitivity, the ability
to respond quickly to changes in the environment, and stability, the
ability to carry out relatively long sequences of actions. They conclude
that no simple conflict-resolution strategy can be completely satisfactory.
Direction of inference. Research on deductive inference has rec-
ognized two fundamentally different ways that people reason. Sometimes
we work in a data driven, event driven, or bottom-up direction, starting
from the available information as it comes in and trying to draw
conclusions that are appropriate to our goals. This is how our sample
production system worked, for example. In production- system research
this is called a forward chaining method of inference. We sometimes
work the other way, however, starting from a goal or expectation of
what is to happen and working backwards, looking for evidence that
supports or contradicts our hunch. This is called goal driven, expec-
tation driven, or top-down thinking, and in production systems it is
referred to as backward chaining, since it requires looking at the action
parts of rules to find ones that would conclude the current goal, then
looking at the left-hand sides of those rules to find out what conditions
would make them fire, then finding other rules whose action parts con-
clude these conditions, and so on. MYCIN'S use of backward chaining is
described fully in Article vm.Bi, in Volume n.
Primitive vocabulary. As the complexity of the condition and action
parts of the productions in the rule base increases, there has been
greater concern about the nature of the expressions allowed — the kinds
of conditions and actions that can be expressed. A significant aspect of
the representation language issue concerns the choice of vocabulary or
semantic primitives, that is, the functions or predicates in terms of
which the rules and context elements are expressed (see Article m.C6).
Different systems will define their vocabulary at higher or lower levels,
depending upon the task to be accomplished.
Conclusion
Perhaps the final word on production systems is that they capture
in a manageable representation scheme a certain type of problem- solving
knowledge — knowledge about what to do in a specific situation. Al-
though this kind of knowledge is basically procedural, the production-
system formalism has many of the advantages of declarative rep-
resentation schemes, most importantly, modularity of the rules.
Furthermore, the way that the productions themselves are structured is
very similar to the way that people talk about how they solve problems.
C4 Production Systems 199
For this reason, production systems have been used as the backbone of
expert AI systems like DENDRAL, MYCIN, and PROSPECTOR (see
Chaps, vn, vm, and DC, in Vol. n). Research on these knowledge- based
expert systems, called knowledge engineering (Feigenbaum, 1977; Bern-
stein, 1977) is concerned not only with expert-level performance but also
with the interactive transfer of expertise — acquisition of knowledge from
human experts and explanation of reasoning to human users (Davis,
in press).
References
Winston (1977) gives a basic introduction to production systems with
examples. An excellent review of production systems and the issues
involved in their design was prepared by Davis and King (1977).
Current research in production- system design and applications is reported
in the collection of papers edited by Waterman and Hayes-Roth (1978).
C5. Direct (Analogical) Representations
There is a class of representation schemes, called analogical or direct
representations — like maps, models, diagrams, and sheet music — that can
represent knowledge about certain aspects of the world in especially
natural ways. This type of knowledge representation is central to many
AI tasks but seems at first quite different from the usual propositional
representation schemes like logic and semantic nets. Understanding the
sense in which direct and propositional representations are the same may
help clarify the meaning of concepts like representation, data structure,
and interpretative procedure.
Direct representations have been defined as schemes in which "prop-
erties of and relations between parts of the representing configuration
represent properties and relations of parts in a complex represented con-
figuration, so that the structure of the representation gives information
about the structure of what is represented" (Sloman, 1971). The sig-
nificant point here is the requirement of correspondence between the
relations in the representational data structures and the relations in the
represented situation. For example, a street map is a direct repre-
sentation of a city in the sense that the distance between two points on
the map must correspond to the distance between the places they
represent in the city. Hayes (1974) calls this form of connection
between the representation and the situation one of homomorphism
(structural similarity) rather than just denotation.
Direct representations may be contrasted with the more prevalent
propositional or Fregean forms (so called after Gottlob Frege, who
invented the predicate calculus), which do not require this homomorphic
correspondence between relations in the representation and relations in
the situation. Proximity of assertions in the database of a logic system,
for instance, indicates nothing about the location of objects in the
world. Note that the propositional and direct representations may ac-
tually use the same data structures but differ in how they use them —
which properties of the data structures are used in what way by the
routines that operate on the representation to make inferences.
Continuing with the map example, if a routine for examining a map
retrieved all distances from an internal table, rather than looking at the
map, it would be pointless to say that the map was direct with respect
to distance.
Thus, it is the combination of the data structures and the semantic
interpretation function (SIF) manipulating them that should be referred
C5 Direct (Analogical) Representations 201
to as direct, and only with respect to certain properties (Pylyshyn, 1975,
1978). For example, a map (with a reasonable semantic interpretation
function) is direct with respect to location and hence distance, but not,
usually, with respect to elevation. For some problems, direct represen-
tation has significant advantages. In particular, the problem of updating
the representation to reflect changes in the world is simpler. For
example, if we add a new city to a map, we need only put it in the
right place. It is not necessary to state explicitly its distance from all
the old cities, since the distance on the map accurately represents the
distance in the world. See the discussion in Article m.C2 of the frame
problem (McCarthy and Hayes, 1969).
The distinction between direct and propositional representations has
also been the subject of discussions in psychology concerning the char-
acter of human memory, which seems to have properties of both types
(Pylyshyn, 1973). The next section of this article presents some AI
systems that use direct representations. The final section returns to a
discussion of their advantages and disadvantages.
Systems Using Analogical Representations
The Geometry Theorem Prover (Gelernter, 1963) was one of the
earliest automated theorem provers and was distinguished by its reliance
on a diagram to guide the proof. The system proved simple, high-school-
level theorems in Euclidean geometry like the following:
Given: Angle ABD equals angle DBC.
Segment AD perpendicular segment AB.
Segment DC perpendicular segment BC.
Prove: Segment AD equals segment CD.
Using problem reduction techniques, the system worked backward from
the goal to be proved.
In Gelernter's system, which is described fully in Article n.D3, the
problem diagram was used in two ways. The more important of these
was the pruning heuristic: "Reject as false any hypothesis (goal) that is
not true in the diagram." In other words, those subgoals that were
obviously false in the diagram were not pursued through the formal
proof methods. This use of the diagram to guide the solution search
resulted in the pruning of about 995 out of every 1,000 subgoals at each
level of search.
202
Knowledge Representation
m
The other use of the diagram was to establish obvious facts
concerning, for example, the order in which points fall on a given line
and the intersection properties of lines in a plane. Many of these are
self-evident from the diagram but would be tiresome to prove from
fundamental axioms. In certain such circumstances, the program would
assume the fact to be true if it were true in the diagram, while
explicitly noting that it had made such an assumption. The program
was also able to add lines to the diagram, when necessary, to facilitate
the proof.
Work on the General Space Planner (Eastman, 1970, 1973) ad-
dressed the task of arranging things in a space (e.g., furniture in a
room) subject to given constraints that must be satisfied (e.g., room for
walkways and no overlapping). A simple problem is the following:
Given the space
0
and the objects
1
2
and the constraints
(3) must be adjacent to (4)
(2) must be adjacent to (3)
(l) must be visible from (3)
(l) must not be adjacent to any other objects,
one solution is:
2
1
3
4
The system used a direct representation, called a variable domain
array, which was a specialization of the sort of two-dimensional diagram
used by Gelernter. Since the structure of the representation reflected
the structure of the space, with respect to the properties of size, shape,
C5
Direct (Analogical) Representations
203
and position, the system could be described as analogical for those prop-
erties. Space was partitioned into a set of rectangles, and in addition
to the above properties, two others that are particularly important for
the space-planning task were easily detectable from the variable-domain
array representation: (a) filled versus empty space and (b) overlapping
objects.
The system solved the problems by means of a depth-first search
algorithm, finding locations for successive objects and backing up when it
couldn't proceed without violating some constraint. The search was
facilitated by a constraint graph that represented, by restrictions on the
amount of area left, the effects of constraints between pairs of objects.
Thus, by attacking the most restrictive constraint first, the search was
relatively efficient. This method has been called constraint structured
planning.
Note that Eastman's work is in one sense the reverse of Gelernter's.
Gelernter's system performed search in a propositional space (sets of
formal statements) using an analogical representation (the diagram) for
guidance. Eastman's system performed search in an analogical space
(the diagrammatic array) using a propositional form for heuristic guid-
ance (the constraint graph).
WHISPER (Funt, 1976, 1977) was a system designed to reason ex-
clusively by the analogical representation. WHISPER operated in a sim-
plified blocks-world environment, solving problems like the following:
Given four blocks that start
in this configuration, what will
happen when block B tumbles onto block D?
204 Knowledge Representation HI
The system had three components:
1. Diagram: An array that represented the two-dimensional scene
in the obvious way, as shown above;
2. Retina: A set of parallel receptors arranged in concentric circles,
with each receptor viewing a small part of the diagram;
3. High-level reasoner: The domain-dependent part of the system
that contained qualitative physical knowledge (in this case, it
employed information regarding the behavior of rigid bodies
when acted upon by gravity).
The significance of the diagram to WHISPER lay in the fact that there
were two types of analogues present — analogues between static states of
the diagram and the world and also between dynamic behavior of ob-
jects in the diagram and of objects in the world.
The correspondences between the diagram and the world were simple
and well defined; no complicated processes were required to map from
one to the other. A number of properties, such as position, orientation,
and size of blocks, were represented analogically. For these properties,
it was not necessary to perform complicated deductions, since the
desired information "fell out" of the diagrams. For example, as in
Eastman's space planner, to test whether or not a particular area of the
world was empty (i.e., not occupied by any block), the system had only
to look at the corresponding area of the diagram. With most propo-
sitional representations, it would be necessary to examine each block
individually, testing whether or not that block overlapped the space in
question (see, e.g., Fahlman, 1974). The retina also provided a number
of perceptual primitives, including center of area, contact finding, and
similarity testing. The high-level reasoner never looked at the diagram
directly. Note that certain properties (color and weight) were not
represented in the analogue. To reason about these, normal inference-
making processes would be necessary.
Baker (1973) had earlier suggested a similar representational formal-
ism. Like Funt, he envisioned a two-dimensional array to represent the
diagram; however, he also discussed the possibility of retaining spatial
smoothing information within each cell of the array, to remove some of
the error caused by the coarseness of the array. Both Funt and Baker
suggested that the parallelism of their systems, pursuing several goals
simultaneously, coupled well with the analogical representations. Indi-
vidual elements of their processors (in Funt's case, the retina) could
operate autonomously, with connections only to their (spatially)
neighboring cells. In this sort of network, arbitrary transformations,
through combinations of translation and rotation, could be represented.
C5 Direct (Analogical) Representations 205
Issues Concerning Direct Representations
The work done to date on direct representations raises a number of
questions. First, following Sloman (1975), we should clarify some com-
mon misconceptions about direct representations. Analogical represen-
tations need not be continuous, nor need they be two-dimensional; an
ordered list of numbers, for example, can be analogical with respect to
size. Also, like propositional representations, analogical ones may have a
grammar that defines what data structures are well formed, or "legal."
The difference between the two types of representation schemes lies in
the nature of the correspondence between aspects of the structure of the
representation and the structure of the represented situation.
One of the advantages of analogical representations over their prop-
ositional counterparts relates to the difference between observation and
deduction. In some situations, the former can be accomplished relatively
cheaply in terms of the computation involved, and direct representations
often facilitate observation since important properties are "directly ob-
servable" (Funt, 1976). For example, determining whether three points
are collinear might be much easier using a direct representation (a
diagram) than it would be to calculate analytically using their coor-
nates. As another example, Filman (1979) implemented a chess reason-
ing system that relied on both inference (searching several moves ahead)
and observation (looking at a semantic model of the current state of the
chess board).
Funt (1976) relates a more abstract justification for the use of ana-
logical representations. A propositional representation of a situation — for
example, a set of statements in the predicate calculus — will often admit
to several models. In other words, there might be many situations of
the world that would be represented by the same statements, since they
are distinguished in aspects that are not captured in the representation.
Direct representations, on the other hand, are usually more exhaustive
and specific, admitting fewer models and, in turn, making for more
efficient problem solving.
In addition, as illustrated by Gelernter's work, the use of analogical
representations can facilitate search. Constraints in the problem situ-
ation are represented by constraints on the types of transformations
applied to the representation, so that impossible strategies are rejected
immediately.
There are, however, some disadvantages to the use of these direct
representations. First, the tendency toward more specific inference
schemes mentioned earlier has its drawbacks — as Sloman (1975) points
out, there are times when generality is needed. For example, consider
206 Knowledge Representation HI
the problem "If I start in room A and then move back and forth
between room A and room B, which room will I be in after exactly 377
moves?" For this case, the best approach is not to simulate the action,
but to generalize the effects of odd and even numbers of moves.
Second, Funt notes that some features of the analogue may not hold
in the actual situation, and we might not know which ones these are.
This is related to the general problem of knowing the limits of the rep-
resentation.
Third, analogical representations become unwieldy for certain kinds
of incomplete information. That is, if a new city is added to a map,
its distance from other cities is obtained easily. But suppose that its
location is known only indirectly, for example, that it is equidistant
from cities Y and Z. Then the distance to other cities must be rep-
resented as equations, and the power of the analogue has been lost.
To conclude, direct representations are analogous with respect to
some properties to the situation being represented. Some properties
(especially physical ones) may be relatively easily represented analog-
ically, resulting in significant savings in computation for certain types of
inferences.
References
General discussions of the research on direct representations in AI
are Funt (1976) and Sloman (1971, 1975). Related psychological con-
cerns are discussed by Pylyshyn (1975, 1978).
C6. Semantic Primitives
The knowledge representation formalisms described in this chapter —
logic, procedures, semantic nets, productions, direct representations, and
frames — are all ways of expressing the kinds of things we express in
English, that is, the kinds of things we know. Having chosen a rep-
resentation technique, another major question in the design of an AI
system concerns the vocabulary to be used within that formalism. In a
logic-based representation, for example, what predicates are to be used?
In a semantic net, what node and link types should be provided?
Research on semantic primitives is concerned with this problem of
establishing the representational vocabulary. This article, then, is not
about a knowledge representation technique per se, but rather about a
representational issue that concerns all of the techniques used in AI.
The term semantic primitive has no clear-cut definition. As a
starting point, one may think of a primitive as any symbol that is used
but not defined within the system. The term is so used by Wilks, for
example, who accordingly concludes that "primitives are to be found in
all natural language understanding systems — even those . . . that argue
vigorously against them" (Wilks, 1977c). A second and narrower usage
takes semantic primitives to be elements of meaning into which the
meanings of words and sentences can be broken down; examples of such
work come from linguistics (e.g., Jackendoff, 1975, 1976) and psychology
(Miller, 1975; Miller and Johnson-Laird, 1976; Norman and Rumelhart,
1975), as well as from AI.
Additional issues have arisen as to what primitives really are, how
they may be used in reasoning, and what alternatives there are to using
primitives. Winograd (1978) provides a general survey and analysis of
such questions. Some of these are illustrated in the following discussion
of the two major AI systems for natural language understanding that
are characterized by their authors as using semantic primitives.
Wilks 's System
Yorick Wilks, now of the University of Essex, has been developing a
natural language system for machine translation since 1968 (described
fully in Article IV.F2). The system accepts paragraphs of English text,
producing from them an internal representation that is a data structure
composed of nodes representing semantic primitives. From this struc-
ture, a French translation of the input is generated. The translation
serves as a test of whether the English has been understood, which is a
208 Knowledge Representation HI
more objective test than just inspection of the internal representation.
The translation task also has the advantage, Wilks suggests, that correct
translation of the input may often require a shallower understanding
than would the ability to answer arbitrary questions about it. Con-
sistent with these reasons for the choice of translation as a task, most
of the effort in Wilks 's system is spent in converting the English input
to the internal representation.
The first major problem that Wilks addressed was the resolution of
word-sense ambiguity, for this was the problem on which earlier at-
tempts at machine translation had foundered (see Article rv.B). For ex-
ample, in the sentence The old salt was damp, it is necessary to
determine from the surrounding context whether salt means a chemical
compound or a sailor. Wilks's system also addressed problems involving
other kinds of ambiguity and extended word senses, as for the word
drink in My car drinks gas.
The general idea of Wilks's approach, which he calls preference
semantics, is to use knowledge of possible word meanings to dis-
ambiguate other words. For example, part of the meaning of drink is
that it prefers a fluid object, and part of the meanings of wine and gas
is that they are fluids. If the best fit among possible word senses does
not satisfy all preferences (such as the preference of drink for an
animate subject), then an extended word sense can be accepted. The
formalism within which preferences are expressed, Wilks suggests, is
closer to a frame representation than to a semantic net.
As the description above should make clear, a central requirement in
Wilks's system is a dictionary distinguishing among the various senses of
words that can appear in the input text. Definitions in the dictionary
use a vocabulary of semantic primitives, grouped into five classes. Ex-
amples from each class are given below:
Ent i ti es
Actions
MAM a human
STUFF a substance
PART a part of an entity
CAUSE causing something to happen
BE being as equivalence or predication
FLOW moving as liquids do
C6 Semantic Primitives 209
Cases
TO direction toward something
IN containment
Qua I i f i ers
GOOD morally correct or approved
MUCH much, applied to a substance
Type indicators
HOW being a type of action — for adverbial constructions
KIND being a quality — for adjectival constructions
In addition to the primitive elements, of which there are currently over
80, WUks uses several elements, distinguished by names beginning with
an asterisk, that are defined as equivalent to a class of primitives. For
example, *ANI (animate) encompasses MAN, FOLK (a human group),
BEAST (a nonhuman animal), and certain others. A typical definition
using the primitives is the following definition for one sense of the word
break:
(BREAK: (*HUN SUBJ)
(*PHYS0B OBJE)
((((N0TWH0LE KIND) BE) CAUSE) GOAL)
(THING INST)
STRIK)
This says roughly that break means a STRIKing, done preferably by a
HUMan SUBJect and preferably with an INSTrument that is a THING,
with the GOAL of CAUSing a PHYSical OBject to BE NOT WHOLE.
Words other than verbs are also defined by such structured formulas.
A detailed description of the syntax of such word-sense definitions, or
semantic formulas, is given in Wilks (1977c).
The completed representation of a text is a structure made up of
such word- sense formulas. At a level corresponding to the clause or
simple sentence, formulas are arranged into triples, or templates, stand-
ing for an agent, an action, and an object; any of the three may itself
be qualified by other formulas. For example, Small men sometimes
father big sons would be structured as follows:
[man] < ► [father] < ► [sons]
A A A
[small] [sometimes] [big]
Here the bracketed English words should be imagined as being replaced
by the semantic formulas representing their appropriate sense. Rela-
tions among templates are indicated at a still higher level of structure.
210 Knowledge Representation IE
What is the status of the primitive vocabulary in Wilks's system?
First, he argues, primitives are not essentially different from natural-
language words. A semantic description in terms of primitives is just a
description in "a reduced micro-language, with all the normal weaknesses
and vagueness of a natural language" (Wilks, 1977c). The justification
for using a language of primitives, then, is that it provides "a useful
organizing hypothesis ... for an AI natural language system."
Second, Wilks claims that individual primitives have their meaning
in the same way that English words do: neither by direct reference to
things, nor by correspondence to nonlinguistic psychological entities, but
only by their function within the overall language.
Third, in light of the nature of primitives, there is no one correct
vocabulary for a primitive language, any more than there is a correct
vocabulary for English. The test of the adequacy of a particular set of
primitives is an operational one — the success or failure of the linguistic
computations that use it. As suggestive evidence that Wilks's own set
of primitives will indeed turn out to be adequate, he observes that it is
very similar to the 80 words that occur most frequently in definitions in
Webster's dictionary.
Finally, there are some general considerations in choosing a set of
primitives. Wilks (1977c) identifies the following properties as desirable:
1. Finitude. The number of primitives should be finite and should
be smaller than the number of words whose meanings the rep-
resentation scheme is to encode.
2. Comprehensiveness. The set should be adequate to express and
distinguish among the senses of the word set whose meanings it
is to encode.
3. Independence. No primitive should be definable in terms of other
primitives.
4. Noncircularity. No two primitives should be definable in terms
of each other.
5. Primitiveness. No subset of the primitives should be replacable
by a smaller set.
A qualification should be noted concerning the property of compre-
hensiveness: The definition in primitives of a word sense is not required
to be exhaustive of meaning. Wilks cites hammer, mallet, and axe as
terms among which a representation in primitives cannot be expected to
distinguish. In addition, the definition of a term is not expected to say
everything; Wilks distinguishes between the meanings of words, which
definitions express, and facts about things. The definition of water, for
example, might say that water is a liquid substance, but not that water
C6 Semantic Primitives 211
freezes into ice. Facts of the latter sort are expressed in Wilks's system
as commonsense inference rules, which are separate from the dictionary
and are used only as a last resort in disambiguation.
Schank's Conceptual Dependency Theory
The conceptual dependency theory of Roger Schank, now of Yale
University, has been under development since 1969. Its most distinctive
feature, the attempt to provide a representation of all actions using a
small number of primitives, was first introduced in 1972. (See Articles
IV.F5 and IV.F6 on Schank's natural language understanding systems.)
There are significant differences between the systems of Schank and
Wilks, both in the general outline of their systems and in their views of
primitives. Wilks's system, for example, is oriented toward the task
of machine translation, whereas conceptual dependency theory makes
broader claims. First, Schank emphasizes task independence. The theory
has been used, in fact, as the basis for programs that, among other
things, can paraphrase an input text, translate it to another language,
draw inferences from it, or answer questions about it. Second, the
theory is offered not only as a basis for computer programs that
understand language, but also as an intuitive theory of human language
processing.
Consistent with these claims, Schank holds that it is the business of
an adequate representation of natural-language utterances to capture
their underlying conceptual structure. A first requirement is that the
representation be unambiguous, even though the input may contain syn-
tactic ambiguity, as in / saw the Grand Canyon flying to New York, or
semantic ambiguity, as in The old man's glasses were filled with sherry.
The speaker of an ambiguous sentence usually intends an unambiguous
meaning, so the representation is expected to reflect only the most likely
version of what was intended.
A second requirement is that the representation be unique — that is,
that distinct sentences with the same conceptual content should have
the same representation. Some examples of groups of sentences that are
all represented the same way are
/ want a book.
I want to get a book.
I want to have a book.
and
Don't let John out of the room.
Prevent John from getting out of the room.
212 Knowledge Representation EI
The principle of uniqueness of representation has been characterized
as the basic axiom of the system. It has also been identified as
accounting for human abilities to paraphrase and translate text. The
problem of paraphrase — "how sentences which were constructed differ-
ently lexically could be identical in meaning" — is a major theme
throughout Schank's work (Schank, 1975c).
To obtain unique, unambiguous representations of meaning, Schank's
system relies principally on a set of 11 primitive ACTs (Schank, 1975a;
Schank and Abelson, 1977):
Physical acts
PROPEL apply a force to a physical object
MOVE move a body part
INGEST take something to the inside of an animate object
EXPEL force something out from inside an animate object
GRASP grasp an object physically
Acts characterized by resulting state changes
PTRAMS change the location of a physical object
ATRAMS change an abstract relationship, such as
possession or ownership, with respect to an object
Acts used mainly as instruments for other acts
SPEAK produce a sound
ATTEND direct a sense organ toward a stimulus
Mental acts
MTRANS transfer information
MBUILD construct new information from old information
There are several other categories, or concept types, besides the primi-
tive ACTs in the representational system. They are:
Picture Producers (PPs), which are physical objects. Some special
cases among the PPs are natural forces like wind and three
postulated divisions of human memory: the Conceptual Pro-
cessor (where conscious thought takes place), the Intermediate
Memory, and the Long Term Memory.
Picture Aiders (PAs), which are attributes of objects.
Times.
Locations.
Action Aiders (AAs), which are attributes of ACTs.
Only a little work has been done on reducing these latter categories to
a primitive set; see Russell (1972) and Lehnert (1978) on the analysis of
C6 Semantic Primitives 213
picture producers and Schank (1975a) on the treatment of picture aiders
as at tribute- value pairs.
Detailed rules are provided for the ways that elements of these
categories can be combined into representations of meaning. There are
two basic kinds of combinations, or conceptualizations. One involves an
actor (a picture producer — PP) doing a primitive ACT; the other in-
volves an object (again, a PP) and a description of its state (a picture
aider — PA). Conceptualizations can be tied together by relations of in-
strumentality or causation, among others.
The primitive elements that occur in conceptualizations are not
words, according to Schank, but concepts; they reflect a level of thought
underlying language rather than language itself. Consequently, repre-
sentations of text in conceptual dependency are said to be language-free.
The task of translation, then, becomes only one task among many; it is
accomplished by parsing from one language into conceptual dependency
and then generating text in the second language from the conceptual
dependency representation.
The notion of language-free primitive concepts requires explication.
For Schank, as for Wilks, the justification for using primitives is func-
tional. Schank differs from Wilks, however, in his choice of the sort of
function to be optimized, as well as in his view of primitives as
language-free and psychologically plausible. Schank particularly empha-
sizes the computational advantages, to both programs and people, of
storing propositions in a canonical form (Schank, 1975b). This requires,
in Schank's view, that information implicit in a sentence be made
explicit (Schank, 1975a; Schank and Abelson, 1977). Obtaining the
implicit information in turn requires inferring, and it is as an aid to
making inferences that the use of primitives receives its most important
justification:
Rather than stating that if you see something then you know it
and if you hear something then you know it and if you read
something then you know it and so on, we simply state that
whenever an MTRANS exists, a likely inference is that the
MTRANSed information is in the mental location LTM [Long Term
Memory] (our representation for "know"). This is a tremendous
savings of time and space. (Schank, 1975b, p. 40)
Each primitive ACT, then, entails its own set of inferences. As a fuller
example, the following are the main inferences from the fact that X
PTRANSed Y from W to Z:
1. Y is now located at Z.
2. Y is no longer at location W.
214 Knowledge Representation EI
3. If Z = X, or Z is human and requested the PTRANS, then Z
will probably do whatever one ordinarily does with Y. More-
over, Z probably will become pleased by doing this. (Schank,
1975a, p. 71)
Such inferences provide both the criterion for choosing a set of prim-
itives and the definition of what primitives are. The primitive ACTs,
Schank and Abelson (1977) state, are no more than the sets of infer-
ences to which they give rise. Moreover:
The theoretical decision for what constitutes a primitive ACT is
based on whether the proposed new ACT carries with it a set of
inferences not already accounted for by an ACT that is already in
use. Similarly, a primitive ACT is dropped when we find that its
inferences are already handled by another ACT. (Schank, 1975b,
p. 40)
In his earlier work, Schank (1973a) claimed that the primitive ACTs
of conceptual dependency, together with some set of possible states of
objects, were sufficient to represent the meaning of any English verb. It
soon became clear, however, that additional mechanisms would be
needed for a general-purpose language-understanding system. For exam-
ple, there are problems of quantification and of metaphor, which have
not yet been addressed (Schank and Abelson, 1977). There are prob-
lems raised by the fact that natural-language communications often
presuppose a great deal of background knowledge, some of which has to
do with the typical course of events in commonplace situations like
eating in a restaurant or taking a bus (see Article m.C7 on frame
systems). Finally, of particular importance with respect to the use of
primitives, there are problems arising from the fact that conceptual
dependency generally expresses the meaning of an action verb only in
terms of its physical realization. One example is the reduction of kiss
to MOVE lips to lips (Schank and Abelson, 1977). The inadequacy of
this representation becomes especially apparent in light of the claim that
no information is lost by the use of primitive ACTs to represent actions.
Recently Schank has added several new devices to his repre-
sentational system to reflect the purposive aspects of actions as well as
their physical descriptions. These include goals, which can be realized
by appropriate sequences of acts; scripts, which provide such sequences
in simple stereotyped situations; plans, which provide a more flexible
way of specifying the appropriate action sequences, including the treat-
ment of a whole set of alternative sub-sequences as a single subgoal;
and themes, which include people's occupations (e.g., lawyer), their
relationships with others (e.g., love), and their general aims (e.g., getting
C6 Semantic Primitives 215
rich) and which are offered as the source of their goals. The
representation of a piece of text is thus extended to try to take into
account not only what caused what, but also what was intended to
cause what and why the actor might have had such an intention in the
first place. In addition, Schank has recently supplemented the primitive
ACTs with several social ACTs— AUTHORIZE, ORDER, DISPUTE, and
PETITION — in order to represent yet another dimension of human
actions more readily. None of these devices, however, is characterized
as introducing a new set of primitives.
References
The best descriptions of the two systems using semantic primitives
in AI discussed here are Wilks (1975c) and Schank and Abelson (1977).
Norman and Rumelhart (1975) describe a computer model of human
memory, MEMOD, and discuss the psychological basis of the semantic
primitives used in their model (see also Article XI.E4, in Vol. m). See
Wilks (1977a, 1977c) and Winograd (1978) for further discussions of the
issue of semantic primitives.
C7. Frames and Scripts
There is abundant psychological evidence that people use a large,
well- coordinated body of knowledge from previous experiences to inter-
pret new situations in their everyday cognitive activity (Bartlett, 1932).
For example, when we visit a restaurant where we have never been
before, we have an extensive array of expectations based on experience
in other restaurants about what we will find: menus, tables, waiters,
and so forth. In addition to these expectations about the objects in a
typical restaurant, we have strong expectations about the sequences of
events that are likely to take place. Representing knowledge about the
objects and events typical to specific situations has been the focus of the
AI knowledge-representation ideas called frames and scripts. Frames
were originally proposed by Minsky (1975) as a basis for understanding
visual perception, natural-language dialogues, and other complex behav-
iors. Scripts — frame-like structures specifically designed for representing
sequences of events — have been developed by Schank and Abelson (1977)
and their colleagues. Both refer to methods of organizing the knowledge
representation in a way that directs attention and facilitates recall and
inference.
Organizing Knowledge and Expectations
Frames provide a structure, a framework, within which new data are
interpreted in terms of concepts acquired through previous experience.
Furthermore, the organization of this knowledge facilitates expectation-
driven processing, looking for things that are expected based on the
context one thinks one is in. The representational mechanism that
makes possible this kind of reasoning is the slot, the place where
knowledge fits within the larger context created by the frame. For
example, a simple frame for the generic concept of chair might have
slots for number of legs and style of back. A frame for a particular
chair has the same slots — they are inherited from the CHAIR frame — but
the contents of the slots are more fully specified:
CHAIR Frame
Special ization-of: FURNITURE
Number-of- I egs : an integer (DEFAULT=4)
Sty I e-of-back : straight, cushioned, . . .
l\lumber-of-arms : 0, 1, or 2
C7 Frames and Scripts 217
JOHN'S-CHAIR Frame
Speci a I i zation-of : CHAIR
Number-of- I egs: 4
Sty I e-of-back : cushioned
Number-of-arms: 0
By supplying a place for knowledge, and thus creating the possibility of
missing or incompletely specified knowledge, the slot mechanism per-
mits reasoning based on seeking confirmation of expectations — "filling in
slots."
To illustrate some of the current ideas about slots and frames and
how they might be used by a frame-based reasoning system, consider
the following example of a Restaurant Frame. The terminology used
for this example is intended only to give a sense of the structure of
knowledge in a frame and does not follow any of the varied formalisms
developed by the different researchers in this area (e.g., Minsky, 1975;
Bobrow and Winograd, 1977b; Schank and Abelson, 1977; Szolovitz,
Hawkinson, and Martin, 1977; Goldstein and Roberts, 1977; Brachman,
1978; Aikins, 1979; Stefik, 1980).
Generic RESTAURANT Frame
Speci a I i zation-of : Busi ness-Establ ishment
Types:
range: (Cafeteria, Seat-Yoursel f , Wa i t-To-Be-Seated)
default: Wa i t-to-be-Seated
if-needed: IF plastic-orange-counter THEM Fast-Food,
IF stack-of-trays THEM Cafeteria,
IF wa it-for-wa i tress-sign or reservations-made
THEM Wait-To-Be-Seated,
OTHERWISE Seat-Yoursel f.
Location :
range: an ADDRESS
if-needed: (Look at the MENU)
Name:
if-needed: (Look at the MENU)
Food-Sty I e :
range: (Burgers, Chinese, American, Seafood, French)
default: American
if-added: (Update Alternatives of Restaurant)
218 Knowledge Representation IE
Times-of-Operation :
range: a Time-of-Day
default: open evenings except Mondays
Payment-Form:
range: (Cash, CreditCard, Check, Washing-Dishes-Script)
Event-Sequence:
default: Eat-at-Restaurant Script
A I ternati ves :
range: all restaurants with same FoodSty I e
if-needed: (Find all Restaurants with the same FoodStyle)
There are several different kinds of knowledge represented in this ex-
ample. The Specialization-of slot is used to establish a property inher-
itance hierarchy among the frames, which in turn allows information
about the parent frame to be inherited by its children, much like the
ISA link in semantic net representations (see Article m.C3). Note that
the Location slot has subslots of its own — slots can have a complex,
frame-like structure in some systems. The contents of the Range slot in
this generic restaurant example is an expectation about what kinds of
things the Location of a restaurant might be. And the If-Needed slot
contains an attached procedure that can be used to determine the slot's
value if necessary (see discussion of procedural attachment below).
Another important slot type is Default, which suggests a value for the
slot unless there is contradictory evidence. Many other types of slots
are used in the various frame systems, and the descriptions here are
quite incomplete, but they will at least give an idea of the kinds of
knowledge represented in frames.
As indicated in the Event- Sequence slot, knowledge about what typ-
ically happens at a restaurant might be represented in a script, like the
one below:
EAT-AT-RESTAURANT Script
Props: (Restaurant, Money, Food, Menu, Tables, Chairs)
Roles: (Hungry-Persons, Wait-Persons, Chef-Persons)
Poi nt-of-Vi ew: Hungry-Persons
Ti me-of -Occurrence: (Times-of-Operation of Restaurant)
Place-of-Occurrence : (Location of Restaurant)
C7 Frames and Scripts 219
Event-Sequence :
first: Enter-Restaurant Script
then: if (Wa i t-To- Be-Seated-Sign or Reservations)
then Get-Na i tre-d's-Attention Script
then: PI ease-Be-Seated Script
then: Order-Food-Script
then: Eat-Food-Scri pt unless (Long-Wait) when
Ex it-Restau rant- Angry Script
then: if (Food-Quality was better than Palatable)
then Compl i ments-To-The-Chef Script
then: Pay-For-It-Scri pt
finally: Leave-Restaurant Script
This is a rough rendition in English of the type of Restaurant script
described by Schank and Abelson (1977). The script specifies a normal
or default sequence of events as well as exceptions and possible error
situations. The script also requires the use of a few static descriptions
such as Props and Roles that refer to other frames. Scripts are de-
scribed more fully in Article IV.F6.
Procedural Knowledge in Frames and Scripts
Underlying the declarative structure of frames and scripts — the way
that they organize the representation of static facts — is an important
dynamic or procedural aspect of frame-based systems. In particular,
procedures can be attached to slots to drive the reasoning or problem-
solving behavior of the system. (See the general discussion of
procedural representation of knowledge in Article m.C2.) In some frame-
based systems, attached procedures are the principal mechanism for
directing the reasoning process, being activated to fill in slots, If-Needed,
or being triggered when a slot is filled (Bobrow et al., 1977).
Filling in slots. After a particular frame or script has been selected
to represent the current context or situation, the primary process in a
frame-based reasoning system is often just filling in the details called for
by its slots. For example, after selecting the Generic Restaurant Frame
above, one of the first things we might want the system to do is to
determine the value of the Type slot. This could be accomplished in
one of several ways. Sometimes the type is directly inherited, but in
this case there are several alternatives. For instance, the default res-
taurant type can be used if there are no contraindications, or the
attached If-Needed procedure can be used to decide.
Default and inherited values are relatively inexpensive methods of
filling in slots; they don't require powerful reasoning processes. These
220 Knowledge Representation EI
methods account for a large part of the power of frames — any new
frames interpreting the situation can make use of values determined by
prior experience, without having to recompute them. When the needed
information must be derived, attached procedures provide a means of
specifying appropriate methods that can take advantage of the current
context, namely, slot-specific heuristics. In other words, general problem-
solving methods can be augmented by domain- specific knowledge about
how to accomplish specific, slot-sized goals.
Besides directing the gathering of further information, filling in the
slots provides confirmation that the frame or script is appropriate for
understanding the scene or event. For example, Schank's script-based
story-understander, SAM, can be said to have understood a written story
when each slot in the appropriate script has been filled by an event in
the story, either explicit in the text or implied (see Article IV.F6).
Should the frame or script be found to be inappropriate, attached pro-
cedures can trigger transfer of control to other frames.
Triggers. Another frequently used form of procedural attachment
is routines that are activated when the value of a slot is found or
changed. These "trigger" procedures implement event- or data-driven
processing, since they take over control only when certain events or
data occur (see Article m.C4). For example, the If- Added procedure in
the Food- Style slot of the Generic Restaurant Frame is used to modify
the list of alternative restaurants once a particular cuisine is chosen.
In some systems, trigger procedures attached to special slots in the
frame are used to decide what to do in the event that the frame is
found not to match the current situation. For instance, if the Eat-at-
Restaurant script were to discover a food line and a stack of trays, it
might trigger the Eat-at-Cafeteria script as being more appropriate.
This triggering procedure has been used in various frame-driven systems
for medical diagnosis (Szolovitz, Hawkinson, and Martin, 1977; Aikins,
1979). Since a number of related diseases might share a core set of
signs and symptoms, the ability to make a differential diagnosis depends
strongly on the ability to detect those factors that rule out or confirm a
particular diagnosis. Typically, in medicine, when one diagnosis is ruled
out, a similar but more likely disease is indicated.
Current Research on Frames and Scripts
A number of experimental prototype systems have been implemented
to explore the idea of frame-based processing introduced by Minsky
(1975). The following descriptions are intended to give an indication of
the domains and problems that researchers in this area address.
C7 Frames and Scripts 221
Bobrow and his associates (1977) have experimented with frame-
based natural language understanding in their GUS system, and their
article includes clear examples of how frames might be used to control a
system's reasoning. Designed as a prototype of an automated airline
reservation assistant, the system attempted to demonstrate how various
aspects of dialogue understanding — such as handling mixed-initiative
dialogues, indirect answers, and anaphoric references — could be facilitated
by the ability to make expectations and defaults available with frames.
This system was also used to explore procedural attachment issues.
Concurrently with the design of GUS, a frame-based programming
and representation language called KRL (Knowledge Representation
Language) was developed to explore frame-based processing (Bobrow and
Winograd, 1977b). Many of the specific ideas about how frame-based
systems might work were first suggested by the KRL research group.
As part of their early design work, the KRL group implemented several
AI systems in the first version of the language (Bobrow and Winograd,
1977a). The report details a number of difficulties and shortcomings
they encountered, some of which are inherent in frame-based processing.
Other work with frame-based systems includes the NUDGE system,
developed by Goldstein and Roberts (1977), which was used to un-
derstand incomplete and possibly inconsistent management-scheduling
requests and to provide a complete specification for a conventional
scheduling algorithm. Implemented in their FRL-0 language, the sys-
tem also used a frame-based semantics to resolve anaphoric requests
(Bullwinkle, 1977).
A program that solves physics problems stated in English was de-
veloped by Novak (1977). It used a set of canonical object frames, such
as Point, Mass, and Pivot, to interpret the actual objects and their
relations in a number of statics problems. These canonical object
frames were used to construct a view of an actual object as an abstract
object, thereby simplifying the problem representation.
The UNITS package, developed by Stefik (1980), is a useful imple-
mentation of a variety of ideas about frame systems in a transportable
programming package. The UNITS package has been used to build
working AI systems for scientific applications.
Finally, work on KLONE (Brachman, 1978) represents current
research in the theory and design of frame-based systems.
Work on script-based processing in AI has for the most part been
carried on by Schank and Abelson (1977) and their colleagues. They
have used scripts to investigate the notions of causality and the under-
standing of sequences of events. In particular, the SAM program
(Article IV.F6) attempts to understand short stories using a script to
222 Knowledge Representation HI
guide the interpretation of occurrences in the story. After establishing
the appropriate script and filling some of its slots with information from
the story, SAM can make inferences from script-based information about
similar events.
Summary
Frames and scripts are recent attempts by AJ researchers to provide
a method for organizing the large amounts of knowledge needed to per-
form cognitive tasks. Much of the work in this area is quite conjec-
tural, and there are many fundamental differences in approach among
the researchers who have designed frame-based systems. The devel-
opment of large-scale organizations of knowledge and the concomitant
ability of these structures to provide direction for active cognitive
processing are the current direction of AI research in knowledge
representation. A number of serious problems must be solved before the
conjectured benefits of frames will be realized.
References
Minsky (1975) coined the word frame and set off the recent flurry of
AI work in the area. The clearest detailed descriptions of frame-based
reasoning systems are Kuipers (1975) and Bobrow and Winograd (1977b).
Fahlman (1975), Charniak (1978), and Brachman (1978) discuss some
important current research issues in this area. Schank and Abelson
(1977) provide an excellent discussion of AI research on scripts.
Chapter IV
Understanding Natural Language
CHAPTER IV: UNDERSTANDING NATURAL LANGUAGE
A. Overview / 225
B. Machine Translation / 288
C. Grammars / 289
1. Formal Grammars / 289
2. Transformational Grammars / 245
8. Systemic Grammar / 249
4. Case Grammars / 252
D. Parsing / 256
1. Overview of Parsing Techniques / 256
2. Augmented Transition Networks / 268
8. The General Syntactic Processor / 268
E. Text Generation / 278
F. Natural Language Processing Systems / 281
1. Early Natural Language Systems / 281
2. Wilks's Machine Translation System / 288
8. LUNAR / 292
4. SHRDLU / 295
5. MARGIE / 800
6. SAM and PAM / 806
7. LIFER / 816
A. OVERVIEW
The MOST COMMON WAY that people communicate is by speaking or
writing in one of the "natural" languages, like English, French, or
Chinese. Computer programming languages, on the other hand, seem
awkward to humans. These "artificial" languages are designed so that
sentences have a rigid format, or syntax, making it easier for compilers
to parse the programs and convert them into the proper sequences of
computer instructions. Besides being structurally simpler than natural
languages, programming languages can express easily only those concepts
that are important in programming: "Do this, then do that," "See
whether such and such is true," and so forth. The things that can be
meant by expressions in a language are referred to as the semantics of
the language.
The research described in this chapter concerns the development of
computer programs that try to deal with the full range of meaning in
languages like English. If computers could understand what people
mean when people type (or speak) English sentences, the systems would
be easier to use and would fit more naturally into people's lives.
Furthermore, AI researchers hope that learning how to build computers
that can communicate as people do will extend our understanding of the
nature of language and of the mind.
So far, programs have been written that are quite successful at pro-
cessing somewhat constrained input: The user is limited in either the
structural variation of his sentences (syntax constrained by an artificial
grammar) or in the number of things he can mean (in domains with
constrained semantics). Some of these systems are adequate for building
English "front ends" for a variety of data processing tasks and are
available commercially. But the fluent use of language typical of hu-
mans is still elusive, and understanding natural language (NL) is an
active area of research in AI.
This article presents a brief sketch of the history of research in
natural language processing and an idea of the state of the art in NL.
The next article is a historical sketch of research on machine translation
from one language to another, which was the subject of the very earliest
ideas about processing language with computers. It is followed by sev-
eral technical articles on some of the grammars and parsing techniques
that AI researchers have used in their programs. Then, after an article
on text generation, that is, the creation of sentences by a program to
226 Understanding Natural Language IV
express what it wants to say, there are several articles describing the
NL programs themselves: the early systems of the 1960s and the major
research projects of the last decade, including Wilks's machine
translation system, Winograd's SHRDLU, Woods's LUNAR, Schank's
MARGIE, SAM, and PAM, and Hendrix's LIFER.
Two other chapters of the Handbook are especially relevant to NL
research. Speech understanding research (Chap, v) attempts to build
computer interfaces that understand spoken language. In the 1970s, re-
search on speech and understanding natural language was often closely
linked. Increasingly inseparable from NL research is the study of
knowledge representation (Chap, m), because AI researchers have come
to believe that a very large amount of knowledge about the world is
needed to understand even simple dialogues. AI research in the repre-
sentation of knowledge explores ways of making this world knowledge
accessible to the computer program by building representational data
structures in the machine's memory.
Early History
Research in computational linguistics, the use of computers in the
study of language, started soon after computers became available in the
1940s (Bott, 1970). The machine's ability to manipulate symbols was
readily applied to written text to compile word indexes (lists of word
occurrences) and concordances (indexes that included a line of context
for each occurrence). Such surface- level machine processing of text was
of some value in linguistic research, but it soon became apparent that
the computer could perform much more powerful linguistic functions
than merely counting and rearranging data.
In 1949, Warren Weaver proposed that computers might be useful
for "the solution of world-wide translation problems" (Weaver, 1955,
p. 15). The resulting research, on what was called machine translation,
attempted to simulate with a computer the presumed functions of a
human translator: looking up each word in a bilingual dictionary,
choosing an equivalent word in the output language, and, after pro-
cessing each sentence in this way, arranging the resulting string of
words to fit the output language's word order.
Despite the attractive simplicity of the idea, many unforeseen
problems arose, both in selecting appropriate word equivalences and in
arranging them to produce a sentence in the output language. (Article
IV.B discusses the history, problems, and current state of research on
machine translation.) The concept of translating by replacing words
with their equivalents and then adjusting the word order was
abandoned. In its place, eventually, understanding became the focus of
A Overview 227
AI research in language — if the machine could actually "understand the
meaning" of a sentence, it could presumably paraphrase it, answer
questions about it, or translate it into another language. But the
nature of understanding is itself a difficult problem. New AI approaches
to natural language processing were influenced by many scientific
developments of the 1960s, including high-level programming languages
and list processing, vastly expanded computer power and memory
capacity, and Chomsky's breakthroughs in linguistic theory.
In the 1960s, AI researchers developed a new group of computer
programs, attempting to deal with some of the issues that had thwarted
attempts at machine translation. These early natural language programs
marked the beginning of AI work in understanding language. They
began to view human language as a complex cognitive ability involving
knowledge of different kinds: the structure of sentences, the meaning of
words, a model of the listener, the rules of conversation, and an ex-
tensive, shared body of general information about the world. (Several of
these programs are described briefly in Article iv.fi.) The general AI
approach has been to model human language as a knowledge-based
system for processing communications and to create computer programs
that serve as working instantiations of those models (see Winograd,
1980b, however, for a discussion of some possible limitations of this
approach to the study of language).
AI researchers in natural language processing expect their work to
lead both to the development of practical, useful, language under-
standing systems and to a better understanding of language and the
nature of intelligence. The computer, like the human mind, has the
ability to manipulate symbols in complex processes, including processes
that involve decision making based on stored knowledge. It is an
assumption of the field that the human use of language is a cognitive
process of this sort. By developing and testing computer-based models
of language processing that approximate human performance, researchers
hope to understand better how human language works.
Approaches to NL Processing
Natural language research projects have had diverse emphases and
have employed diverse methods, making their classification difficult.
One coherent scheme, borrowed from Winograd (1972), groups natural
language programs according to how they represent and use knowledge
of their subject matter. On this basis, natural language programs can
be divided into four historical categories.
The earliest natural language programs sought to achieve only
228 Understanding Natural Language IV
limited results in specific, constrained domains. These programs, like
Green's BASEBALL, Lindsay's SAD-SAM, Bobrow's STUDENT, and
Weizenbaum's ELIZA, used ad hoc data structures to store facts about a
limited domain (see Article rv.Fi). Input sentences were restricted to
simple declarative and interrogative forms and were scanned by the
programs for predeclared key words or patterns that indicated known
objects and relationships. Domain- specific rules, called heuristics, were
used to derive the required response from the key words in the sentence
and the knowledge in the database. Because their domains of discourse
were so restricted, these early systems were able to ignore many of the
complexities of language and achieve sometimes impressive results in
answering questions. (Weizenbaum, 1976, argues that to the extent the
results were impressive, they were also misleading.)
Another early approach to NL processing was tried in PROTO-
SYNTHEX-I (Simmons, Burger, and Long, 1966) and Semantic Memory
(Quillian, 1968). These systems essentially stored a representation of the
text itself in their databases, using a variety of clever indexing schemes
to retrieve material containing specific words or phrases. In this text-
based approach, the systems were not tied by their construction to a
specific domain, since the textual database could cover any subject.
However, they were still severely restricted in the sense that they could
only respond with material that had been prestored explicitly. Though
more general than their predecessors, these programs still failed to notice
even obvious implications of the sentences in the database, because they
did not deal with the meaning of the English language input — that is,
they had no deductive powers.
To approach the problem of how to characterize and use the mean-
ing of sentences, a third group of programs was developed during the
mid-1960s. In these limited-logic systems, including SIR (Raphael, 1968),
TLC (Quillian, 1969), DEACON (Thompson, 1966), and CONVERSE
(Kellogg, 1968), the information in the database was stored in some
formal notation, and mechanisms were provided for translating input
sentences into this internal form (semantic analysis). The formal nota-
tion was an attempt to liberate the informational content of the input
from the structure of English. The overall goal of these systems was to
perform inferences on the database in order to find answers to questions
that were not stored explicitly in the database. For instance, if a
system has been told that Fido is a collie and that All collies are dogs,
then it should be able to answer the question, Is Fido a dog? The
systems of this period were limited in the sense that the deductions
they could make were only a subset of the full range of logical
inferences used in ordinary conversation.
A Overview 229
The fourth group of natural language understanding programs might
be called knowledge-based systems; their development is closely inter-
twined with AI research on the representation of knowledge (see Chap,
m). These programs use a large amount of information about the
domain under discussion to help understand sentences — knowledge that is
stored within the program using some knowledge representation scheme
like logic, procedural semantics, semantic networks, or frames. But
before discussing these knowledge-based systems of the 1970s, we should
first mention an important development in the study of language during
the preceding decade that strongly influenced their design.
Grammars and Parsing
A grammar of a language is a scheme for specifying the sentences
allowed in the language, indicating the syntactic rules for combining
words into well-formed phrases and clauses. The theory of generative
grammar introduced by Chomsky (1957) radically influenced all linguistic
research, including AI work in computational linguistics. In natural
language processing programs, the grammar is used in parsing to "pick
apart" the sentences that were input to the program to help determine
their meaning and thus an appropriate response. Several very different
kinds of grammars have been used in NL programs, including phrase-
structure grammars, transformational grammars, case grammars, systemic
grammars (described in Sec. rv.C), and semantic grammars (see Article
DC.C3, in Vol. n).
Parsing is the "delinearization" of linguistic input, that is, the use of
grammatical rules and other sources of knowledge to determine the func-
tions of the words in the input sentence (a linear string of words) in
order to create a more complicated data structure, for example, a der-
ivation tree. This structure depicts some of the relations between words
in the sentence ("this adjective modifies that noun, which is the object
of a prepositional phrase . . . " ) and can be used to get at the "mean-
ing" of the sentence. All natural-language-processing computer systems
contain a parsing component of some sort, but those of the early NL
programs were based on keywords expected in the input or were
constrained to quite limited phrase structures. The practical application
of grammars to the full range of natural language has proved difficult.
The design of a parser is a complex problem, in both theory and
implementation. The first part of the design concerns the specification
of the grammar to be used. The rest of the parsing system is con-
cerned with the method of use of the grammar, that is, the manner in
which strings of words are matched against patterns of the grammar.
These considerations run into many of the general questions of computer
230 Understanding Natural Language IV
science and Artificial Intelligence concerning process control and manip-
ulation of representational data structures (see, e.g., recent work by
Marcus, 1980, on the PARSIFAL system).
Knowledge-based Natural Language Systems
In the early 1970s, two systems were built that attempted to deal in
a comprehensive way with both syntactic and semantic aspects of lan-
guage processing. William Woods's LUNAR program answered questions
about the samples of rock brought back from the moon, using a large
database provided by the National Aeronautics and Space Agency (see
Article IV.F3). It was one of the first programs to attack the problems
of English grammar, by means of an augmented transition network
parser (Article IV.D2). LUNAR utilized the notion of procedural seman-
tics in which queries were first converted systematically into a "pro-
gram" to be executed by the information retrieval component. The
other system, Terry Winograd's SHRDLU, carried on a dialogue with a
user in which the system simulated a robot manipulating a set of simple
objects on a table top (see Article IV.F4). The naturalness of the
dialogue, as well as SHRDLU's apparent reasoning ability, made it
particularly influential in the development of AI ideas on natural
language processing. These two systems integrated syntactic and
semantic analysis with a body of world knowledge about a limited
domain, allowing them to deal with more sophisticated aspects of
language and discourse than had previously been possible.
Central to these two systems is the idea of representing knowledge
about the world as procedures within the system. The meanings of
words and sentences were expressed as programs in a computer lan-
guage, and the execution of these programs corresponded to reasoning
from the meanings. Procedural representations are often the most
straightforward way to implement the specific reasoning steps needed for
a natural language system. Most of the actual working systems that
have been developed have made heavy use of specialized procedural
representations, to fill in those places where the more declarative
representation schemes — those where the "knowledge" is encoded in
passive data structures that are interpreted by other procedures — are
insufficient. (The procedural-declarative controversy was at one time an
important focus in the development of AI; see Article m.A.)
Perhaps the most influential declarative representation schemes were
logic and semantic networks. Semantic networks were first proposed by
Quillian (1968) as a model for human associative memory. They applied
the concepts of graph theory, representing words and meanings as a set
A Overview 231
of linked nodes implemented as data structures in the computer pro-
gram. By using a systematic set of link types, Quillian was able to
program simple operations (such as following chains of links) that cor-
responded to drawing inferences. The advantage of semantic networks
over standard logic as a representation scheme (see Article m.Ci) is that
some selected set of inferences, of those that are possible, can be made
in a specialized and efficient way. If these correspond to the inferences
that people make naturally, then the system will be able to do a more
natural sort of reasoning than can be easily achieved by formal logical
deduction. Semantic networks have been the basis for representation of
the knowledge in a number of systems, including LIFER (Article IV.F7)
and many of the speech understanding systems (Chap. v). Recently
there has been a good deal of work on formalizing the network notions,
so that there is a clear correspondence between the graph operations
and the formal semantics of the statements represented (see Article m.C3
on semantic nets).
Case representations extend the basic notions of semantic nets with
the idea of a case frame, a cluster of the properties of an object or
event into a single concept (Article IV.C4). There have been several
variations on this idea, some of which remain close to the linguistic
forms. Others, such as conceptual dependency, are based on the notion
of semantic primitives, that is, the construction of all semantic notions
from a small set of elementary concepts (see Article m.C6). Conceptual
dependency theory was developed by Roger Schank and his colleagues
and used in their NL systems, MARGIE and SAM. (See Articles IV.F5
and IV.F6 and also Schank, 1980, which is a recent review of his work
in natural language understanding.)
As with semantic networks, the advantage of case representations
lies in their focus on grouping relevant sets of relationships into single
data structures. The idea of clustering structures in a coherent and effi-
cient way has been carried much further in representation schemes based
on the notion of a frame (Minsky, 1975; see Article m.C7). Where case
representations deal primarily with single sentences or acts, frames are
applied to whole situations, complex objects, or series of events. In
analyzing a sentence, narrative, or dialogue, a frame-based language
understanding system tries to match the input to the prototypes of
objects and events in its domain that are stored in its database.
For example, Schank's SAM system makes use of frame-like data
structures called scripts, which represent stereotyped sequences of events,
to understand simple stories. It assumes that the events being described
will fit (roughly) into one of the scripts in its knowledge base, which it
then uses to fill in missing pieces in the story. The GUS system
232 Understanding Natural Language IV
(Bobrow et al., 1977) is an experimental, frame-based travel consultant,
engaging in dialogue to help a person schedule an air trip.
The important common element in all of these systems is that the
prototype frames make it possible to use expectations about the usual
properties of known concepts and about what typically happens in a
variety of familiar situations to help understand sentences about those
objects and situations. When a sentence or phrase is input that is am-
biguous or under specified, it can be compared to a description of what
would be expected based on the prototype. If there is a plausible match,
assumptions can be made about what was meant. This expectation-
driven processing seems to be an important aspect of the human use of
language, where incomplete or ungrammatical sentences can be under-
stood in appropriate contexts (see Article v. A).
Investigation of script- and frame- based systems is the most active
area of AI research in natural language understanding at the present
time. Recent systems expand the domain of expectations used in pro-
cessing language beyond those involving typical objects and events to
include those based on how people use plans to achieve goals (see, e.g.,
Schank and Abelson, 1977; Wilensky, 1978b) and on the rules people
appear to follow in a dialogue (Cohen and Perrault, 1979; Kaplan, 1979;
Grosz, 1980; Robinson et al., 1980). The state of the art in operational
(nonexperimental) NL systems is exemplified by ROBOT (Harris, 1979),
LIFER (Hendrix, 1977a), and PHLIQA1 (Landsbergen, 1976).
References
General discussions of natural-language-processing research in AI in-
clude those by Boden (1977), Charniak and Wilks (1976), Schank and
Abelson (1977), and Winograd (in press). The recent review articles by
Schank (1980) and Winograd (1980b) give interesting perspectives to the
history of their NL research. Waltz (1977) contains more than 50 brief
summaries of current projects and systems.
In addition, many historically important NL systems are described
in Feigenbaum and Feldman (1963), Minsky (1968), and Rustin (1973).
Bobrow and Collins (1975), COLING (1976), TINLAP-1 (1975), and
TINLAP-2 (1978) are proceedings of conferences that describe current
work in the field. Related AI work on speech understanding is described
in the collection of articles edited by Lea (1980b).
B. MACHINE TRANSLATION
The concept of translation from one language to another by machine
is older than the computer itself. According to Yehoshua Bar-Hillel,
one of the early investigators in the field, the idea was conceived
perhaps already in the early 1930s by P. P. Smirnov-Troyansky of the
Soviet Union and G. B. Artsouni of France (see Bar-Hillel, 1964, p. 7).
Their work apparently never received much attention, lying dormant
until a decade later, when the climate was much more favorable because
of the recent invention of the digital computer. In certain quarters of
the scientific world, people imagined — with some justification — that com-
puters would lead to many entirely new and far-reaching ideas about
man and — perhaps less justifiably — that computers would help bring
about a new world order. In short, there was tremendous excitement
over the potential of these new thinking machines, as they were quickly
dubbed. This was also the time when Claude Shannon was formulating
his ideas on information theory, when Norbert Wiener was devising the
concept of cybernetics, and when Pitts and McCullough were developing
their ideas on neural nets and brain function. During the war, more-
over, computing had just passed with flying colors its initial tests — in
such strategic tasks as breaking codes and calculating complicated
nuclear cross sections.
It would be well to bear in mind that when machine translation
(MT) work began, programming was done by wiring boards and the only
computer language available was machine language. Such concepts as
arrays and subroutines were yet to appear — not to mention pushdown
stacks, compiler languages, recursive procedures, and the like. Further-
more, no one had heard of context-free and context-sensitive grammars,
or of transformational grammars, or of augmented transition networks.
At the forefront of computational linguistics — the application of the
computer to the study of language — were statistical experiments with
language, such as compiling matrices of letter frequencies and of
transition frequencies between successive letters. Such matrices could be
used to produce interesting samples of pseudo-language by producing
words from randomly generated letters with the same characteristics as
English words. (See the related discussion of Yngve's random text
generation system in Article IV.E.)
234 Understanding Natural Language IV
First Attempts
The real genesis of machine translation dates from a series of dis-
cussions between Warren Weaver and A. Donald Booth in 1946. Both
men were familiar with the work on code breaking by computers, based
on letter-frequency and word-frequency tables. It seemed to them that
some of the same methods would be applicable to translation and that
the principal obstacle would be incorporating a full dictionary of the
two languages. Of course, they recognized that simply having a dic-
tionary would not solve all problems. Some of the remaining problems
would be the following: (a) Many words have several translations,
depending upon context; (b) word orders vary from language to lan-
guage; and (c) idiomatic expressions cannot be translated word for word
but must be translated in toto. Nevertheless, it appeared plausible, at
the time, that the major problem in translating between two languages
was simply that of vocabulary — and so at least a large part of trans-
lation seemed mechanizable.
In 1947, Booth and D. H. V. Britten worked out a program for dic-
tionary lookup. This was a full-form dictionary, in that each variant of
any basic word (e.g., love, loves, loving) had to be carried as a separate
entry in the dictionary. In 1948, R. H. Richens suggested the addition
of rules concerning the inflections of words, so that the redundancy of
the multiple dictionary entries could be eliminated.
In 1949, Weaver distributed a memorandum entitled "Translation"
to about 200 of his acquaintances (see Weaver, 1955), and a considerable
wave of interest ensued. In addition to the idea that all languages have
many features in common, three other items from that memorandum are
worth repeating. The first is the notion of a window through which one
can view exactly 2N + 1 words of text; Weaver suggests that when N
is sufficiently large, one will be able to determine the unique, correct
translation for the word that sits in the middle of the window. He
then points out that N may be a function of the word, rather than a
constant, and discusses the idea of choosing a value of N such that,
say, 95% of all words would be correctly translated 98% of the time.
The second is this intriguing statement: "When I look at an article in
Russian, I say, This is really written in English, but it has been coded
in some strange symbols. I will now proceed to decode." This certainly
carries to an extreme the concept that source text and translated text
"say the same thing." In fact, it leads naturally to the third provocative
idea of the memorandum that translating between languages A and B
means going from A to an intermediate "universal language," or
interlingua, that, supposedly, all humans share, and thence to B. This
B Machine Translation 235
idea, of an intermediate representation of the semantics or meaning of
an utterance, appears often in modern, natural language processing work
in AI under the rubric representation of knowledge (see discussion in
Article IV. A and in Chap. m).
After Weaver's memorandum, work began in several centers in the
United States. Erwin Reifler conceived the idea of two auxiliary func-
tions to be performed by human beings, those of pre- editor and post-
editor. The pre-editor would prepare the input text to be as free as
possible of ambiguities and other sources of difficulty; the post-editor
would take the machine-translated text and turn it into grammatical,
comprehensible prose.
A conference in 1952 produced recommendations to implement a
dictionary-lookup program and to work towards the invention, or discov-
ery, of the hypothetical universal language, called Machinese, which
Weaver had proposed as an intermediate language for machine transla-
tion.
A. G. Oettinger was one of the first to design a program that car-
ried out word-for-word translation of Russian text into English. A very
high percentage of the Russian words had more than one possible trans-
lation, so all of them were listed in the output English text, enclosed in
parentheses. Thus, a sample of English output text read as follows:
(In, At, Into, To, For, On) (last, latter, new, latest, lowest, worst)
(time, tense) for analysis and synthesis relay-contact electrical
(circuit, diagram, scheme) parallel- (series, successive, consecutive,
consistent) (connection, junction, combination) (with, from) (success,
luck) (to be utilize, to be take advantage of) apparatus Boolean
algebra. (Oettinger, 1955, p. 55)
A cleaned-up version of this sentence reads: "In recent times Boolean
algebra has been successfully employed in the analysis of relay networks
of the series-parallel type" (p. 58). Readers of the translated text were
expected to discern from the jumble of synonyms what the cleaned-up
text really should be. Clearly, there was still a long, long way to go
toward mechanical translation.
In the next year or two, most of the effort was directed toward de-
vising ways to handle different endings of inflected words and estimat-
ing the size of vocabulary needed for translations of varying degrees of
quality. In 1954, a journal of mechanical translation was founded,
called MT. Machine translation received considerable public attention
when a group from IBM and Georgetown University made grand claims
for a program that translated from Russian to English, although this
program was not particularly advanced over any others. In any case,
machine- translation research groups sprang up in many countries.
236 Understanding Natural Language IV
Problems Encountered
Early attempts focusing on syntactic information were able to pro-
duce only low-quality translation and led eventually to extreme pessi-
mism about the possibility of the endeavor. It has since become clear
that high-quality translation systems must in some sense understand the
input text before they can reconstruct it in a second language. For the
first time, it was becoming apparent that much "world knowledge" is
applied implicitly when human beings translate from one language to
another. Bar-Hillel gave as an example the pair of sentences, The pen
is in the box and The box is in the pen. Of this example he said, "I
now claim that no existing or imaginable program will enable an
electronic computer to determine that the word pen" in the second
sentence has the meaning "an enclosure where small children can play"
(Bar-Hillel, 1960, p. 159). He goes on to remark that, to his amaze-
ment, no one had ever pointed out that in language understanding there
is a world-modeling process going on in the mind of the listener and
that people are constantly making use of this subconscious process to
guide their understanding of what is being said. Bar-Hillel continues:
A translation machine should not only be supplied with a dic-
tionary but also with a universal encyclopedia. This is surely
utterly chimerical and hardly deserves any further discussion. . . .
We know . . . facts by inferences which we are able to perform . . .
instantaneously, and it is clear that they are not, in any serious
sense, stored in our memory. Though one could envisage that a
machine would be capable of performing the same inferences, there
exists so far no serious proposal for a scheme that would make a
machine perform such inferences in the same or similar cir-
cumstances under which an intelligent human being would perform
them. (pp. 160-161)
Bar-Hillel despaired of ever achieving satisfactory machine transla-
tion. His sentiments were not universally shared, but in 1966 they came
to prevail officially in the so-called ALPAC report (National Research
Council, 1966). This report, made to the National Research Council
after a year of study by its Automatic Language Processing Advisory
Committee, resulted in the discontinuance of funding for most machine
translation projects. The report stated:
"Machine Translation" presumably means going by algorithm from
machine-readable source text to useful target text, without recourse
to human translation or editing. In this context, there has been
no machine translation of general scientific text, and none is in
immediate prospect, (p. 19)
B Machine Translation 237
Examples of the output of several MT systems were included in the re-
port; they showed little improvement from the results Oettinger had ob-
tained 10 years before. Even with post-editing, the output was found
to be generally of poorer quality, and sometimes slower and more ex-
pensive to obtain, than entirely human translation.
Current Status
The conclusions of the ALPAC report were directed only against
funding for MT as a practical tool. Support for computational linguis-
tics, evaluated in terms of its scientific worth rather than its immediate
utility, was to be continued. It was also recognized that there had been
fundamental changes in the study of linguistics, partly as a result of
cross-fertilization with computational activities.
Both linguistics and computer science have made contributions rele-
vant to the revival of MT research. A signal event was the publication
in 1957 of Noam Chomsky's Syntactic Structures, in which transforma-
tional grammars were introduced. This book spurred many new de-
velopments in the analysis of syntax. Concurrently, new computer
languages and new types of data structures were being explored by
computer scientists, leading to the creation (in 1960) of both ALGOL
and LISP, with their features of lists, recursion, and so forth. These
languages were the first in a series of languages geared more toward
symbol manipulation than toward "number crunching," as discussed in
Chapter VI, in Volume n. In Artificial Intelligence, the 1960s saw
considerable progress toward natural language understanding, such as the
development of programs that carried on a dialogue of sorts with the
user— BASEBALL, SAD-SAM, STUDENT, SIR, and the like— which are
described in Article iv.fi.
The early 1970s saw some revival of interest in machine translation,
partly because some progress had been made in the internal represen-
tation of knowledge. The programs of Wilks (Article IV.F2) and Schank
(Articles IV.F5 and IV.F6) can perform translation tasks. They begin by
translating input sentences into internal data structures based on
semantic primitives that are intended to be language independent —
that is, elements of meaning that are common to all natural languages.
The internal representation can be manipulated relatively easily by
procedures that carry out inferences; it forms in effect an internal
language or inter lingua for modeling the world.
It is difficult to evaluate the practicality of machine translation. In
some applications it is worthwhile to have even a very bad translation,
if it can be done by a computer in a much shorter time (or much more
238 Understanding Natural Language IV
cheaply) than by humans. In others (such as the preparation of in-
struction manuals) it is possible to deal with input texts that use a
specially restricted form of the language, thereby making translation
easier. There is also the possibility of machine-human interactive trans-
lating, in which the output of the computer is used not by the ultimate
reader but by someone engaged in producing the final translation. The
computer can perform subtasks (like dictionary lookup) or can produce
more or less complete translations that are then checked and polished
by a human post-editor, who perhaps does not know the original lan-
guage.
At the present time, computers are being used in these ways in a
number of translation systems. There is also a renewed interest in fully
automatic translation, based on some of the techniques developed for
dealing with the meaning of sentences, as described in the articles that
follow. However, it is not clear whether the goal of "fully automatic,
high-quality translation" is yet realistic. Much current AI work on lan-
guage is based on a belief that deep understanding of what is being said
is vital to every use of language. Applied to translation, this means
that an MT program must first understand a subject before it can
translate material written about that subject. And the machine's ability
to understand is, of course, the focus of current AI research in all areas.
References
A brief, popular review of current work in machine translation can
be found in Wilks (1977d). For the earliest history, see the introduc-
tion to Locke and Booth (1955). Later surveys include Bar-Hillel
(1960), Josselson (1971), and Hays and Mathias (1976).
See also Bar-Hillel (1964), Booth (1967), National Research Council
(1966), Oettinger (1955), Schank (1975a), Weaver (1955), and Wilks
(1973).
C. GRAMMARS
CI. Formal Grammars
A grammar of a language is a scheme for specifying the sentences
allowed in the language, indicating the rules for combining words into
phrases and clauses. In natural language processing programs, the gram-
mar is used in parsing — "picking apart" — the sentences input to the pro-
gram, in order to determine their meaning and thus an appropriate
response. Several very different kinds of grammars have been used in NL
programs and are described in the articles that follow.
One of the more important contributions to the study of language
was the theory of formal languages introduced by Noam Chomsky in the
1950s. The theory has developed as a mathematical study, not a lin-
guistic one, and has strongly influenced computer science in the design
of computer programming languages (artificial languages). Nevertheless,
it is useful in connection with natural language understanding systems,
as both a theoretical and a practical tool.
Definitions
A formal language is defined as a (possibly infinite) set of strings of
finite length formed from a finite vocabulary of symbols. (E.g., the
strings might be sentences composed from a vocabulary of words.) The
grammar of a formal language is specified in terms of the following
concepts.
1. The syntactic categories (such as <SENTENCE> and <NOUN
PHRASE>). These syntactic categories are referred to as nonterminal
symbols, or variables. Notationally, the nonterminals of a grammar are
often indicated by enclosing the category names in angle brackets, as
above.
2. The terminal symbols of the language (e.g., the words in En-
glish). The terminal symbols are to be concatenated into strings called
sentences (if the terminals are words). A language is then just a subset
of the set of all the strings that can be formed by combining the ter-
minal symbols in all possible ways. Exactly which subset is permitted in
the language is specified by the rewrite rules, described next.
3. The rewrite rules, or productions, which specify the relations
between certain strings of terminal and nonterminal symbols. Some
examples of productions are:
240 Understanding Natural Language IV
<SEI\ITEMCE> -» <I\I0UN PHRASE) <VERB PHRASE)
<I\I0UI\I PHRASE) — ► the <N0UI\l>
<I\I0UI\I> -► dog
<I\I0UN> — ► cat
<VERB PHRASE) -» runs
The first production says that the nonterminal symbol < SENTENCE >
may be "rewritten" as the symbol <NOUN PHRASE > followed by the
symbol <VERB PHRASE >. The second permits <NOUN PHRASE > to
be replaced by a string composed of the word the, which is a terminal
symbol, followed by the nonterminal <NOUN>. The next two allow
<NOUN> to be replaced by either dog or cat. Since there are se-
quences of productions permitting <NOUN PHRASE > to be replaced by
the dog or the cat, the symbol <NOUN PHRASE > is said to generate
these two terminal strings. Finally, <VERB PHRASE > can be replaced
by the terminal runs.
4. The start symbol. One nonterminal is distinguished and called
the "sentence" or "start" symbol, typically denoted < SENTENCE > or S.
The set of strings of terminals that can be derived from this distin-
guished symbol, by applying sequences of productions, is called the
language generated by the grammar. In the simple grammar of our ex-
ample, exactly two sentences are generated:
The cat runs.
The dog runs.
The important aspect of defining languages formally, from the point
of view of computational linguistics and natural language processing, is
that if the structure of the sentences the system is to process is well
understood, then a parsing algorithm for analyzing the input sentences
will be relatively easy to write (see Article iv.di).
The Four Types of Formal Grammars
Within the framework outlined above, Chomsky delineated four
types of grammars and numbered them 0 through 3. The most general
class of grammar is type 0, which has no restrictions on the form that
rewrite rules can take. For successive grammar types, the form of the
rewriting rules allowed is increasingly restricted, and the languages that
are generated are correspondingly simpler. The simplest formal lan-
guages (types 2 and 3) are, as it turns out, inadequate for describing
the complexities of human languages (see Article IV.C2 for a fuller dis-
cussion). On the other hand, the most general formal languages are dif-
ficult to handle computationally. There is an intimate and interesting
CI Formal Grammars 241
connection between the theory of formal languages and the theory of
computational complexity (see Hopcroft and Ullman, 1969). The follow-
ing discussion gives a brief, formal account of the different restrictions
applied in each of the four grammar types.
A grammar G is defined by a quadruple ( VN, VT, P, S ) represent-
ing the nonterminals, the terminals, the productions, and the start sym-
bol, respectively. The symbol V, for vocabulary, represents the union of
the sets VN and VT, which are assumed to have no elements in com-
mon. Each production in P is of the form
X^ Y,
where X and Y are strings of elements in V, and X is not the empty
string. *
Type 0. A type 0 grammar is defined as above: a set of produc-
tions over a given vocabulary of symbols with no restrictions on the
form of the productions. It has been shown that a language can be gen-
erated by a type 0 grammar if and only if it can be recognized by a
Turing machine, that is, if we can build a Turing machine that will
halt in an ACCEPT state for exactly those input sentences that can be
generated by the language.
Type 1. A type 0 grammar is also of type 1 if the form of the
rewrite rules is restricted so that, for each production X — ► Y of the
grammar, the right-hand side, Y, contains at least as many symbols as
the left-hand side, X. Type 1 grammars are also called context-sensitive
grammars. An example of a context-sensitive grammar with start sym-
bol S and terminals a, b, and c is the following:
S -> aSBC
S -► aBC
CB -► BC
aB — ► ab
bB -> bb
bC -> be
cC — ► cc
The language generated by this grammar is the set of strings abc,
aabbec, aaabbbece, . . . This language, where each symbol must occur
the same number of times and must appear in the proper position in
the string, cannot be generated by any grammar of a more restricted
type (i.e., type 2 or type 3).
An alternate (equivalent) definition for context-sensitive grammars is
that the productions must be of the form
uXv — ► uYv ,
242 Understanding Natural Language IV
where X is a single nonterminal symbol; u and v are arbitrary strings,
possibly empty, of elements of V; and Y is a nonempty string over V.
It can be shown that this restriction generates the same languages as
the first restriction, but this latter definition clarifies the term context-
sensitive: X may be rewritten as Y only in the context of u and v.
Type 2. Context-free grammars, or type 2 grammars, are grammars
in which each production must have only a single nonterminal symbol
on its left-hand side. For example, a context-free grammar generating
the sentences ab, aabb, aaabbb, ... is:
S -* aSb
S -> ab
Again, it is not possible to write a context-free grammar for the lan-
guage composed of the sentences abc, aabbcc, aaabbbccc, . . . ; having
the same number of c's at the end makes the language more complex.
The simpler language here, in turn, cannot be generated by a more
restricted (type 3) grammar.
An example of a context-free grammar that might be used to
generate some sentences in natural language is the following:
<SEI\ITEI\ICE> -> <I\I0UN PHRASE) <VERB PHRASE)
<I\I0UN PHRASE) -+ <DETERNINER> <I\I0UN>
<l\J0UN PHRASE) -► <I\I0UI\I>
<VERB PHRASE) -> <VERB> <M0UN PHRASE)
<DETERNIMER> — ► the
<I\I0UM> — ► boys
<N0UI\l> — ► apples
<VERB> — ► eat
In this example, the, boys, apples, and eat are the terminals in the
language, and < SENTENCE > is the start symbol.
An important property of context-free grammars in their use in NL
programs is that every derivation can conveniently be represented as a
tree, which can be thought of as displaying the structure of the derived
sentence. Using the grammar above, the sentence The boys eat apples
has the following derivation tree:
<SEI\ITENCE>
/ \
<M0UM PHRASE) <VERB PHRASE)
/ \ / \
<DETERNII\IER> <W0UI\J> <VERB> <N0UN PHRASE)
the boys eat <N0UN>
appl es
CI Formal Grammars 243
Of course, The apples eat boys is also a legal sentence in this language.
Derivation trees can also be used with context-sensitive (type 1) gram-
mars, provided the productions have the alternate form uXv — ► uYv,
described above. For this reason, context-free and context-sensitive gram-
mars are often called phrase- structure grammars (see Chomsky, 1959,
pp. 143-144, and Lyons, 1968, p. 236).
Type 3. Finally, if every production is of the form
X — ► aY or X — ► a ,
where X and Y are single variables and a is a single terminal, the
grammar is a type 3 or regular grammar. For example, a regular
grammar can be given to generate the set of strings of one or more a's
followed by one or more 6's (but with no guarantee of an equal number
of a's and &'s):
S -► aS
S -► aT
T -► b
T -► bT
Discussion: Language and Computational Algorithms
Because of the increasingly restricted forms of productions in gram-
mars of types 0, 1, 2, and 3, each type is a proper subset of the type
above it in the hierarchy. A corresponding hierarchy exists for formal
languages. A language is said to be of type i if it can be generated by
a type i grammar. It can be shown that there are languages that are
context free (type 2) but not regular (type 3), context sensitive (type 1)
but not context free, and type 0 but not context sensitive. Examples
of the first two have been given above.
For regular and context-free grammars, there are practical parsing
algorithms to determine whether or not a given string is an element of
the language and, if so, to assign to it a syntactic structure in the form
of a derivation tree. Context-free grammars have considerable appli-
cation to programming languages. Natural languages, however, are not
generally context-free (Chomsky, 1963; Postal, 1964), and they also
contain features that can be handled more conveniently, if not exclu-
sively, by a more powerful grammar. An example is the requirement
that the subject and verb of a sentence be both singular or both plural.
Some of the types of grammars and parsing algorithms that have been
explored as more suitable for natural language are discussed in the
articles that follow.
244 Understanding Natural Language IV
References
For a general discussion of the theory of formal grammars and their
relation to automata theory, see Hopcroft and Ullman (1969). Their use
in NL research is discussed in Winograd (in press).
Also of interest are the works of Chomsky (especially 1956, 1957,
and 1959), as well as Lyons (1968, 1970) and Postal (1964).
C2. Transformational Grammars
The term transformational grammar refers to a theory of language
introduced by Noam Chomsky in Syntactic Structures (1957). In the
theory, an utterance is characterized as the surface manifestation of a
"deeper" structure representing the "meaning" of the sentence. The
deep structure can undergo a variety of "transformations" of form (word
order, endings, etc.) on its way up, while retaining its essential meaning.
The theory assumes that an adequate grammar of a language like
English must be a generative grammar, that is, that it must be a
statement of finite length capable of (a) accounting for the infinite
number of possible sentences in the language and (b) assigning to each a
structural description that captures the underlying knowledge of the
language held by an idealized native user. A formal system of rules is
such a statement; it "can be viewed as a device of some sort for
producing the sentences of the language under analysis" (Chomsky, 1957,
p. 11). The operation of the device is not intended to reflect the pro-
cesses by which people actually speak or understand sentences, just as a
formal proof in mathematics does not purport to reflect the processes by
which the proof was discovered. As a model of abstract knowledge and
not of human behavior, generative grammar is said to be concerned with
competence, as opposed to performance.
The Inadequacy of Phrase -structure Grammars
Given that a grammar is a generative rule-system, it becomes a cen-
tral task of linguistic theory to discover what the rules should look like.
In Syntactic Structures and elsewhere (Chomsky, 1957, 1963; Postal,
1964), it was shown that English is neither a regular nor a context-free
language. The reason is that those restricted types of grammars (de-
fined in Article rv.Ci) cannot generate certain common constructions in
everyday English, such as the one using respectively:
Arthur, Barry, Charles, and David are the husbands of
Jane, Joan, Jill, and Jennifer, respectively.
It was not determined whether a more powerful (i.e., context-sensitive)
grammar could be written to generate precisely the sentences of English;
rather, such a grammar was rejected for the following reasons.
1. It made the description of English unnecessarily clumsy and
complex — for example, in the treatment required for conjunc-
tion, auxiliary verbs, and passive sentences.
246 Understanding Natural Language IV
2. It assigned identical structures (derivation trees) to sentences
that are understood differently, as in the pair:
The picture was painted by a new technique.
The picture was painted by a new artist.
3. It provided no basis for identifying as similar the sentences that
have different surface structures but much of their "meaning" in
common:
John ate an apple.
Did John eat an apple?
What did John eat?
Who ate an apple?
The failure of phrase- structure grammar to explain such similarities and
differences was taken to indicate the need for analysis on a higher level,
which transformational grammar provides.
Transformational Rules
In Syntactic Structures, Chomsky proposed that grammars should
have a tripartite organization. The first part was to be a phrase-
structure grammar generating strings of morphemes representing simple,
declarative, active sentences, each with an associated phrase marker or
derivation tree. Second, there would be a sequence of transformational
rules rearranging the strings and adding or deleting morphemes to form
representations of the full variety of sentences. Finally, a sequence of
morphophonemic rules would map each sentence representation to a
string of phonemes. Although later work has changed this model of the
grammar, as well as the content of the transformational rules, it pro-
vides a basis for a simple illustration.
Suppose the phrase- structure grammar is used to produce the
following derivation tree:
SENTENCE
NOUN
/
PHRASE
\
VERB
PHRASE
NP-SINGULAR
/
VERB
\
NOUN PHRASE
/
DETERMINER
\
NOUN
A
AUX V
1
NP-PLURAL
the
boy
TENSE eat
/ 1 \
DETERMINER NOUN
the apple
C2 Transformational Grammars 247
To generate The boy ate the apples, one would apply transformations
mapping "TENSE + eaf to "eat + PAST"; a morphophonemic rule
would then map "eat + PAST" to ate. To derive The boy eats the
apples, the transformational rule used would select present tense and,
because the verb follows a singular noun phrase, would map
"TENSE + eaf to "eat + s." It is noteworthy that the transformational
rule must look at nonterminal nodes in the derivation tree to determine
that the boy is in fact a singular noun phrase. This example illustrates
one way in which transformational rules are broader than the rules of a
phrase- structure grammar.
The transformations mentioned so far are examples of obligatory
transformations, ensuring agreement in number of the subject and the
verb. To obtain The apples were eaten by the boy, it would be neces-
sary first to apply the optional passive transformation, changing a string
analyzed as
NOUM-PHRASE-l + AUX + V + NOUIM-PHRASE-2
to
l\IOUI\l-PHRASE-2 + (AUX + be) + (en + V) + by + M0UI\I-PHRASE-1 .
In other words, this optional transformation changes "The boy TENSE
eat the apples" to "The apples TENSE be (en eat) by the boy," and then
forces agreement of the auxiliary verb with the new plural subject.
Further obligatory transformations would yield "The apples be PAST
eaten by the boy" (where "be + PAST," as opposed to "be + s + PAST,"
is ultimately mapped to were). The ordering of transformational rules
is thus an essential feature of the grammar.
Revisions to the Model
In Aspects of the Theory of Syntax (1965), Chomsky made several
revisions to the model presented in Syntactic Structures (1957). The ver-
sion outlined in the more recent book has been called the "standard
theory" of generative grammar and has served as a common starting
point for further discussion. In the standard theory (as summarized in
Chomsky, 1971), sentence generation begins from a context-free grammar
generating a sentence structure and is followed by a selection of words
for the structure from a lexicon. The context-free grammar and lexicon
are said to form the base of the grammar; their output is called a deep
structure. A system of transformational rules maps deep structures to
surface structures; together, the base and transformational parts of the
grammar form its syntactic component. The sound of a sentence is
determined by its surface structure, which is interpreted by the
248 Understanding Natural Language IV
phonological component of the grammar; deep structure, interpreted by
the semantic component, determines sentence meaning. It follows that
the application of transformational rules to deep structures must pre-
serve meaning: This was the Katz-Postal hypothesis, which required en-
larging the generative capacity of the base and revising many of the
transformational rules suggested earlier (Katz and Postal, 1964).
The place of the semantic component in the standard theory has
been the major source of current issues. For example, the following
pairs of sentences have different meanings, but their deep structures, in
the standard theory, are the same.
Not many arrows hit the target.
Many arrows didn't hit the target.
Each of Mary's sons loves his brothers.
His brothers are loved by each of Mary's sons.
Chomsky's response was to revise the standard theory so that both the
deep structure of a sentence and its subsequent transformations are
input to the semantic component (Chomsky, 1971). He exemplifies the
position of interpretive semantics, which keeps the syntactic component
an autonomous system. The opposing view, called generative semantics,
is that syntax and semantics cannot be sharply separated and, conse-
quently, that a distinct level of syntactic deep structure does not exist.
(This issue is discussed in Charniak and Wilks, 1976.)
There have been a number of developments within the theory of
transformational grammar since the work reviewed here, and current de-
bates have called into question many of the basic assumptions about the
role of transformations in a grammar. For current discussions of these
issues, see Culicover, Wasow, and Akmajian (1977) and Bresnan (1978).
References
The classic references here are, of course, Chomsky (1957) and
Chomsky (1965). Chomsky (1971) is a shorter and more recent dis-
cussion. Culicover, Wasow, and Akmajian (1977) and Bresnan (1978)
are the latest word on transformation theory.
Also see Akmajian and Heny (1975), Charniak and Wilks (1976),
Chomsky (1956, 1959, 1963), Harman (1974), Katz and Postal (1964),
Lyons (1968, 1970), Postal (1964), and Steinberg and Jakobovits (1971).
C3. Systemic Grammar
Systemic grammar, developed by Michael Halliday and others at the
University of London, is a theory within which linguistic structure as
related to the function or use of language, often termed pragmatics, is
studied. According to Halliday (1961, p. 241), an account of linguistic
structure that pays no attention to the functional demands made on
language is lacking in perspicacity, since it offers no principles for ex-
plaining why the structure is organized one way rather than another.
This viewpoint is in contrast to that of transformational grammar, which
has been concerned with the syntactic structure of an utterance apart
from its intended use.
The Functions of Language
Halliday distinguishes three general functions of language, all of
which are ordinarily served by every act of speech.
The ideational function serves for the expression of content. It says
something about the speaker's experience of the world. Analyzing a
clause in terms of its ideational function involves asking questions like
the following: What kind of process does the clause describe — an ac-
tion, a mental process, or a relation? Who is the actor (the logical sub-
ject)? Are there other participants in the process, such as goal (direct
object) or beneficiary (indirect object)? Are there adverbial phrases
expressing circumstances like time and place? The organization of this
set of questions is described by what Halliday calls the transitivity
system of the grammar. (This is related to the ideas of case grammars
discussed in Article IV. C4.)
The interpersonal function relates to the purpose of the utterance.
The speaker may be asking a question, answering one, making a request,
giving information, or expressing an opinion. The mood system of
English grammar expresses these possibilities in terms of categories such
as statement, question, command, and exclamation.
The textual function reflects the need for coherence in language use
(e.g., how a given sentence is related to preceding ones). Concepts for
analysis in textual terms include (a) the theme, that is, the element
that the speaker chooses to put at the beginning of a clause, and
(b) the distinction between what is new in a message and what is
given — the latter being the point of contact with what the hearer
already knows.
250
Understanding Natural Language
IV
Categories of Systemic Grammar
The model of a grammar proposed by Halliday has four primitive
categories:
1. The units of language, which form a hierarchy. In English, these
are the sentence, clause, group, word, and morpheme. The rank
of a unit refers to its position in the hierarchy.
2. The structure of units. Each unit is composed of one or more
units at the rank below, and each of these components fills a
particular role. The English clause, for example, is made up of
four groups, which serve as subject, predicator, complement, and
adjunct.
3. The classification of units, as determined by the roles to be filled
at the level above. The classes of English groups, for instance,
are the verbal, which serves as predicator; the nominal, which
may be subject or complement; and the adverbial, which fills
the adjunct function.
4. The system. A system is a fist of choices representing the
options available to the speaker. Since some sets of choices are
available only if other choices have already been made, the
relation between systems is shown by combining them into
networks, as in the simple example below:
clause
i ndependent
dependent —
imperati ve
i nd i cati ve
dec larati ve
i nterrogati ve
The interpretation is that each clause is independent or depen-
dent; if independent, it is either imperative or indicative; and if
either indicative or dependent, then it is either declarative or
interrogative. In general, system networks can be defined for
units of any rank, and entry to a system of choices may be
made to depend on any Boolean combination of previous
choices.
Conclusion
Systemic grammar views the act of speech as a simultaneous selec-
tion from among a large number of interrelated options, which represent
the "meaning potential" of the language. If system networks represent-
ing these options are suitably combined and carried to enough detail,
they provide a way of writing a generative grammar quite distinct from
C3 Systemic Grammar 251
that proposed by transformational grammar (see Hudson, 1971, 1976;
McCord, 1975; Self, 1975). Furthermore, this formalism has been found
more readily adaptable for use in natural language understanding pro-
grams in AI (see especially Winograd's SHRDLU system, Article IV.F4).
References
Halliday (1961) and Halliday (1970b) are the most general original
references. Winograd (1972) discusses the application of systemic gram-
mar in his famous SHRDLU system.
Also see Halliday (1967-68, 1970a), Hudson (1971, 1976), McCord
(1975), Mcintosh and Halliday (1966), and Self (1975).
C4. Case Grammars
Case systems, as used both in modern linguistics and in Artificial
Intelligence, are descendants of the concept of case as it occurs in
traditional grammar. Traditionally, the case of a noun was denoted by
an inflectional ending indicating the noun's role in the sentence. Latin,
for example, has at least six cases: nominative, accusative, genitive,
dative, ablative, and vocative. The rules for case endings make the
meaning of a Latin sentence almost independent of word order: The
function of a noun depends on its inflection rather than on its position
in the sentence. Some present-day languages, including Russian and
German, have similar inflection systems, but English limits case forms
mainly to the personal pronoun — as in I, my, me — and to the possessive
ending "'5." Case functions for nouns are indicated in English by word
order or by the choice of preposition to precede a noun phrase — as in
"of the people, by the people, and for the people."
The examples above describe what have been called "surface" cases;
they are aspects of the surface structure of the sentence. Case systems
that have attracted more recent attention are "deep" cases, proposed by
Fillmore (1968) in his paper "The Case for Case," as a revision to the
framework of transformational grammar. The central idea is that the
proposition embodied in a simple sentence has a deep structure con-
sisting of a verb (the central component) and one or more noun phrases.
Each noun phrase is associated with the verb in a particular relation-
ship. These relationships, which Fillmore characterized as "semantically
relevant syntactic relationships," are called cases. For example, in the
sentence
John opened the door with the key.
John would be the AGENT of the verb opened, the door would be the
OBJECT, and the key would be the INSTRUMENT. For the sentence
The door was opened by John with the key.
the case assignments would be the same, even though the surface
structure has changed.
It was important to Fillmore's theory that the number of possible
case relationships be small and fixed. Fillmore (1971b) proposed the
following cases:
C4 Case Grammars 253
Agent — the instigator of the event.
Counter-Agent — the force or resistance against which the
action is carried out.
Object — the entity that moves or changes or whose
position or existence is in consideration.
Result — the entity that comes into existence as a
resu It of the action .
Instrument — the stimulus or immediate physical cause of
an event.
Source — the place from which something moves.
Goal — the place to which something moves.
Experiencer — the entity which receives or accepts or
experiences or undergoes the effect of an action.
Still another proposal (Fillmore, 1971a) recognizes nine cases: Agent, Ex-
periencer, Instrument, Object, Source, Goal, Location, Time, and Path.
Verbs were classified according to the cases that could occur with
them. The cases for any particular verb formed an ordered set called a
case frame. For example, the verb open was proposed to have the case
frame
[ OBJECT (INSTRUMENT) (AGENT) ]
indicating that the object is obligatory in the deep structure of the
sentence, whereas it is permissible to omit the instrument (John opened
the door) or the agent (The key opened the door), or both (The door
opened). Thus, verbs provide templates within which the remainder of
the sentence can be understood.
The Case for Case
The following are some of the kinds of questions for which case
analysis was intended to provide answers:
1. In a sentence that is to contain several noun phrases, what
determines which noun phrase should be the subject in the sur-
face structure? Cases are ordered, and the highest ranking case
that is present becomes the subject.
2. Since one may say Mother is baking or The pie is baking, what is
wrong with Mother and the pie are baking? Different cases may
not be conjoined.
3. What is the precise relationship between pairs of words like buy
and sell or teach and learn? They have the same basic meaning
but different case frames.
254 Understanding Natural Language IV
One way of looking at deep cases is to view the verb as a predicate
taking an appropriate array of arguments. Fillmore has extended the
class of predicates to include other parts of speech, such as nouns and
adjectives, as well as verbs. Viewing warm as a predicate, for example,
enabled case distinctions to account for the differences among the fol-
lowing sentences:
I am warm. [experiencer]
This jacket is warm. [instrument]
Summer is warm. [time]
The room is warm. [location]
The Representation of Case Frames
In AI programs, such predicates and their arguments can readily be
equated to nodes in semantic networks; and the case relations, to the
types of links between them. Systems making such identifications in-
clude those of Hendrix (Article IV.F7), Schank (Articles IV.F5 and IV.F6),
Simmons (Article iv.e), and Norman and Rumelhart (Article XI.E4, in
Vol. m). Semantic nets and related work on semantic primitives and
frames are discussed in Chapter m.
There are many other systems using case representations. As point-
ed out in an extensive survey by Bruce (1975), considerable variation is
found in both the sets of cases adopted and the ways in which case
representation is applied. The number of cases used varies from four or
five (Schank) to over 30 (Martin). Bruce's proposal on criteria for
choosing cases, which departs significantly from Fillmore's original goal
of finding a small, fixed set of relationships, is that
a case is a relation which is "important" for an event in the con-
text in which it is described. (Bruce, 1975)
Case notation has been used to record various levels of sentence
structure. As Fillmore introduced it, within the transformational gram-
mar framework, deep cases were deep in the sense that John opened the
door and The door was opened by John were given the same repre-
sentation. They can also be viewed as relatively superficial, however, in
that John bought a car from Bill and Bill sold a car to John could have
distinct representations since they have different verbs. At this level,
cases have been used in parsing (Taylor and Rosenberg, 1975; Wilks,
1976); in the representation of English sentences as opposed to their
underlying meanings, as discussed above (Simmons, 1973); and in text
generation (see Article IV.E).
C4 Case Grammars 255
Systems using case at the deepest level, on the other hand, may
represent the meaning of sentences in a way that collapses buy and sell,
for example, into a single predicate (Norman and Rumelhart, 1975;
Schank, 1975a). A typical problem attacked by these systems is para-
phrasing, in which identifying sentences with the same deep structure is
the goal. Schank also requires that all cases be filled, even if the
information required was not explicitly given in the input sentences (see
Article IV.F5). Charniak (1975) suggests that the appropriate use of case
at this level of representation is in drawing inferences: The "meaning"
of a case would then be the set of inferences one could draw about an
entity knowing only its case. In the view of some writers, however, the
function of case in natural language understanding systems is usually
only as a convenient notation (see Charniak, 1975; Welin, 1975).
References
Fillmore (1968) is the classic reference on case grammars. Bruce
(1975) is a thorough review of different approaches to case grammar.
Also see Charniak (1975), Fillmore (1971a, 1971b), Norman and
Rumelhart (1975), Samlowski (1976), Schank (1973b, 1975a), Schank and
Abelson (1977), Simmons (1973), Taylor and Rosenberg (1975), Welin
(1975), and Wilks (1976).
D. PARSING
Dl. Overview of Parsing Techniques
Parsing is the "delinearization" of linguistic input, that is, the use of
syntax and other sources of knowledge to determine the functions of the
words in the input sentence in order to create a data structure, like a
derivation tree, that can be used to get at the "meaning" of the sen-
tence. A parser can be viewed as a recursive pattern matcher seeking
to map a string of words onto a set of meaningful syntactic patterns.
For example, the sentence John kissed Mary could be matched to the
pattern:
SENTENCE
/ \
SUBJECT PREDICATE
/ \
VERB OBJECT
The set of syntactic patterns used is determined by the grammar of the
input language. (Several types of grammars are described in the articles
in Sec. rv.C.) In theory, by applying a comprehensive grammar, a
parser can decide what is and what is not a grammatical sentence and
can build up a data structure corresponding to the syntactic structure of
any grammatical sentence it finds. All natural-language-processing com-
puter systems contain a parsing component of some sort, but the
practical application of grammars to natural language processing has
proved difficult.
The design of a parser is a complex problem, in both theory and
implementation. The first part of the design concerns the specification
of the grammar to be employed. The rest of the parsing system is con-
cerned with the method of use of the grammar, that is, the manner in
which strings of words are matched against patterns of the grammar.
These considerations run into many of the general questions of computer
science and Artificial Intelligence concerning process control and manip-
ulation of knowledge.
Dl Overview of Parsing Techniques 257
General Issues in Parser Design
The design considerations discussed below overlap; that is, a decision
in one dimension affects other design decisions. Taken together, they
present a picture of the variety of issues involved in parsing natural lan-
guage.
Uniformity. Parsers may represent their knowledge about word
meanings, grammar, and so forth, with a single scheme or with special-
ized structures for specific tasks. The representation scheme affects the
complexity of the system and the application of that knowledge during
parsing. If rules and processes are based on specialized knowledge of
what the input to the parser will contain, it is possible to do things
more quickly and efficiently. On the other hand, if one has a simple,
uniform set of rules and a consistent algorithm for applying them, the
job of writing and modifying the language understanding system is
greatly simplified, since all the knowledge in the system is uniformly
explicated. In general, there is a trade-off between efficiency and uni-
formity; an algorithm specially designed for only one language can per-
form more efficiently than one that could uniformly handle any
language.
Multiple sources of knowledge. Parsing, as originally developed (and
still used in compilers for programming languages), was based purely on
syntactic knowledge — knowledge about the form of sentences allowed in
the language. However, it is possible to design systems in which
syntax-based parsing is intermixed with other levels of processing, such
as word recognition and use of word meanings. Such methods can
alleviate many of the problems of language complexity by bringing more
information to bear. Present systems tend toward such intermixed
structures, both for effective performance and for more psychologically
valid modeling of human language understanding (see, e.g., Article IV.F4
on SHRDLU; the extensive discussion of multiple sources of knowledge in
Article DCC3, in Vol. n, on the SOPHIE system; and the blackboard
model described in Chap. v).
Precision. Another major trade-off in parser design is precision ver-
sus flexibility. Humans are capable of understanding sentences that are
not quite grammatical; even if a person knows that a sentence is
"wrong" syntactically, he can often understand it, that is, assign a
meaning to it. Some natural language processing systems, such as
PARRY (Colby, Weber, and Hilf, 1971) and ELIZA (Article iV.Fi), have
258 Understanding Natural Language IV
been designed to incorporate this kind of flexibility. By looking for key
words and applying loose grammatical criteria, these systems can accept
far more sentences than would a precise parser. However, these
"knowledge-poor," flexible parsers lose many benefits of the more
complete analysis possible with a precise system, since they rely on
vaguer notions of sentence meaning than a precise system does. While
they reject less often, flexible systems tend to misinterpret more often.
Many systems attempt to apply additional knowledge sources, especially
domain- specific knowledge, to increase flexibility while retaining precision.
Type of structure returned. As mentioned, parsing is the process of
assigning structures to sentences. The form of the structure can vary,
from a representation that closely resembles the surface structure of the
sentence to a deeper representation in which the surface structure has
been extensively modified. Which form is chosen depends on the use to
which the parse structure will be put. Currently, most work in natural
language favors the deep structure approach.
These four issues — uniformity, multiple knowledge sources, precision,
and level of representation — are very general questions and are dealt
with in different ways by different systems. In implementing a parser,
after settling such general design questions, natural-language program-
mers run up against another set of problems involving specific parsing
strategies.
Parsing Strategies
Backtracking versus parallel processing. Unfortunately for computa-
tional linguists, the elements of natural languages do not always have
unique meanings. For example, in going through a sentence, the parser
might find a word that could be either a noun or a verb, like can, or
pick up a prepositional phrase that might be modifying any of a
number of the other parts of the sentence. These and many other
ambiguities in natural languages force the parser to make choices
between multiple alternatives as it proceeds through a sentence.
Alternatives may be dealt with all at the same time, through parallel
processing, or one at a time, using a form of backtracking — backing up
to a previous choice-point in the computation and trying again. Both
of these methods require a significant amount of bookkeeping to keep
track of the multiple possibilities: all the ones being tried, in the case
of parallel processing, or all the ones not yet tried, in the case of
backtracking. Neither strategy can be said to be intrinsically superior,
though the number of alternatives that are actually tried can be
Dl Overview of Parsing Techniques 259
significantly reduced when backtracking is guided by "knowledge" about
which of the choices are more likely to be correct — called heuristic
knowledge (see Article n.A).
Top-down versus bottom-up processing. In deriving a syntactic struc-
ture, a parser can operate from the goals, that is, the set of possible
sentence structures (top-down processing), or from the words actually in
the sentence (bottom-up processing). A strictly top-down parser begins
by looking at the rules for the desired top-level structure (sentence,
clause, etc.); it then looks up rules for the constituents of the top-level
structure and progresses until a complete sentence structure is built up.
If this sentence matches the input data, the parse is successfully com-
pleted; otherwise, it starts back at the top again, generating another
sentence structure. A bottom-up parser looks first for rules in the
grammar to combine the words of the input sentence into constituents
of larger structures (phrases and clauses) and continues to try to
recombine these to show how all the input words form a legal sentence
in the grammar. Theoretically, both of these strategies arrive at the
same final analysis, but the kind of work required and the working
structures employed are quite different. The interaction of top-down
and bottom-up process control is a common theme in AI research (see,
e.g., the extended discussion in Article V.b).
Choosing how to expand or combine. With either a top-down or a
bottom-up technique, it is necessary to decide how words and constit-
uents will be combined (bottom- up) or expanded (top-down). The two
basic methods are to proceed systematically in one direction (normally
left to right) or to start anywhere and systematically look at neigh-
boring chunks of increasing size (this method is sometimes called island
driving). Both these methods will eventually look at all possibilities, but
the choice of how to proceed at this level can have a significant effect
on the efficiency of the parser. This particular feature is especially
relevant to language processing in the presence of input uncertainty, as
occurs, for example, in the speech understanding systems.
Multiple knowledge sources. As mentioned above, another important
design decision that was especially conspicuous in the speech under-
standing systems was the effective use of multiple sources of knowledge.
Given that there are a number of possibly relevant sets of facts to be
used by the parser (phonemic, lexical, syntactic, semantic, etc.), which
does one use when?
The issues discussed here under parsing strategies are all questions of
efficiency. They will not in general affect the final result if com-
putational resources are unlimited, but they will affect the amount of
resources expended to reach it.
260 Understanding Natural Language IV
Actual Parsing Systems
Every natural language processing program deals with these seven
issues in its own fashion. Several types of parsers have developed as
experience with natural language systems increases.
Template matching. Most of the early NL programs (e.g., SIR,
STUDENT, ELIZA) performed parsing by matching their input against a
series of predefined templates — binding the variables of the template to
corresponding pieces of the input string (see Article rv.Fi). This ap-
proach was successful, up to a point. Given a very limited topic of dis-
cussion, the form of many of the input sentences could be anticipated
by the system's designer, who then incorporated appropriate templates.
However, the method was inextensible, and template matching was soon
abandoned in favor of more sophisticated methods.
Simple phrase- structure grammar parsers. These parsers make use of
a type of context-free grammar with various combinations of the parsing
techniques mentioned above. The advantage of a phrase- structure gram-
mar is that the structures derived correspond directly to the grammar
rules; thus, the subsequent semantic processing is simplified. By using
large grammars and skirting linguistic issues that are outside their
limitations (such as some types of agreement, see Article IV. C2), a
phrase- structure grammar parser can deal with a moderately large subset
of English. Phrase- structure grammars are used primarily to produce
systems with useful performance on a limited domain, rather than to
explore more difficult language-processing issues (see, e.g., the early
SAD-SAM system, Article iv.Fi).
Transformational grammar parsers. These parsers attempt to extend
the notions of transformational grammar into a parsing system. Trans-
formational grammar is a much more comprehensive system than phrase-
structure grammar, but it loses phrase structure's direct, rule- to- structure
correspondence. Moreover, methods that have been tried, such as anal-
ysis by synthesis (building up all possible sentences until one matches
the input) and inverse transformations (looking for transformation rules
that might have produced the input), have often failed because of
combinatorial explosion — the proliferation of alternatives the system must
examine — and other difficulties with reversing transformations. One of
the major attempts to implement a transformational parser was that by
Petrick (1973).
Extended grammar parsers. One of the most successful AI ap-
proaches to parsing yet developed has been to extend the concept of
phrase-structure rules and derivations by adding mechanisms for more
complex representations and manipulations of sentences. Methods such
Dl Overview of Parsing Techniques 261
as augmented transition net grammars (ATNs) and charts provide addi-
tional resources for the parser to draw on beyond the simple phrase-
structure approach (Articles IV.D2 and IV.D3, respectively). Some of
these mechanisms have validity with respect to some linguistic theory,
while others are merely computationally expedient. The very successful
NL systems of Woods (1973a), Winograd (1972), and Kaplan (1973), as
described in the articles in Section IV.F, use extended grammar parsers.
Semantic grammar parsers. Another very successful modification to
the traditional phrase- structure-grammar approach involves changing the
conception of grammatical classes from the traditional <NOUN>,
<VERB>, and so forth, to classes that are motivated by concepts in
the domain being discussed. For instance, such a semantic grammar for
a system that talks about airline reservations might have grammatical
classes like < DESTINATION;^ <FLIGHT>, <FLIGHT-TIME>, and so
on. The rewrite rules used by the parser would describe phrases and
clauses in terms of these semantic categories (see Article V.B for a more
complete discussion). The LIFER and SOPHIE systems (Articles IV.F7
and DC.C3 [Vol. n], respectively) use semantic-grammar-based parsers.
Grammarless parsers. Some NL system designers have abandoned
totally the traditional use of grammars for linguistic analysis. Such sys-
tems are sometimes referred to as ad hoc, although they are typically
based on some loose theory that happens to fall outside the scope of
standard linguistics. These "grammarless" parsers opt for flexibility in
the above-mentioned trade-off between precision and flexibility. They
are based on special procedures (often centered on individual words
rather than syntactic elements) that use semantics-based techniques to
build up structures relevant to meaning, and these structures bear little
resemblance to the normal structures that result from syntactic parsing.
A good example of this approach can be found in the work of Riesbeck
(1975; see Article IV.F5).
Conclusion
Recent research in parsing has been directed primarily towards two
kinds of simplification: simplified systems for dealing with less than full
English and simplified underlying mechanisms that bring the computer
parsing techniques closer to being a theory of syntax. Systems such as
LIFER (Article IV.F7) have been developed that use the basic mech-
anisms of augmented grammars in a clean and easily programmable way.
Although they cannot deal with the more difficult problems of syntax,
systems of this sort can be used to assemble specialized parsers
relatively quickly and easily and are likely to be the basis for natural
language "front ends" for simple applications.
262 Understanding Natural Language IV
At the same time, there has been a ree valuation of the fundamental
notions of parsing and syntactic structure, viewed from the perspective
of programs that understand natural language. Systems like PARSIFAL
(Marcus, 1980) attempt to capture in their design the same kinds of
generalizations that linguists and psycholinguists posit as theories of
language structure and language use. Attention is being directed toward
the interaction between the structural facts about syntax and the con-
trol structures for implementing the parsing process. The current trend
is away from simple methods of applying grammars (as with phrase-
structure grammars), toward more integrated approaches. In particular,
the grammar- strategy dualism mentioned earlier in this article has been
progressively weakened by the work of Winograd (1972) and Riesbeck
(1975). It appears that any successful attempt to parse natural lan-
guage must be based upon some more powerful approach than tradi-
tional syntactic analysis. Also, parsers are being called upon to handle
more "natural" text, including discourse, conversation, and sentence
fragments. These involve aspects of language that cannot be easily
described in the conventional, grammar-based models.
References
Again, much of this discussion is based on Winograd (in press).
Other general surveys include Charniak and Wilks (1976) and Grishman
(1976). For examples of recent work, the proceedings of the TINLAP
conferences (1975, 1978) are recommended.
D2. Augmented Transition Networks
Augmented transition networks (ATNs) were first developed by
William Woods (1970) as a versatile representation of grammars for nat-
ural languages. The concept of an ATN evolved from that of a finite -
state transition diagram, with the addition of tests and "side effect"
actions to each arc, as described below. These additions resulted in the
power needed for handling features of English like embedding and
agreement that could not be conveniently captured by regular (or even
context-free) grammars. An ATN can thus be viewed as either a gram-
mar formalism or a machine.
Many current language processors use an ATN-like grammar; in some
ways, it may be considered state of the art, at least for actual working
systems.
Preliminary Theoretical Concepts
A finite-state transition diagram (FSTD) is a simple theoretical de-
vice consisting of a set of states (nodes) with arcs leading from one
state to another. One state is designated the START state. The arcs
of the FSTD are labeled with the terminals of the grammar (i.e., words
of the language), indicating which words must be found in the input to
allow the specified transition. A subset of the states is identified as
FINAL; the device is said to accept a sequence of words if, starting
from the START state at the beginning of the sentence, it can reach a
FINAL state at the end of the input.
FSTDs can recognize only regular (type 3) languages (see the dis-
cussion of formal languages in Article rv.Ci). To recognize a language, a
machine must be able to tell whether an arbitrary sentence is part of
the language or not. Regular grammars (those whose rewrite rules are
restricted to the form Y — > aX or Y — ► a) are the simplest, and FSTDs
are only powerful enough to recognize these languages. In other words,
it is impossible to build an FSTD that can dependably distinguish the
sentences in even a context-free language.
For example, the following FSTD, in which the start state is the
left-most node and the final state is labeled **, will accept any sentence
that begins with the, ends with a noun, and has an arbitrary number of
adjectives in between (Fig. D2-1).
264 Understanding Natural Language IV
<adjecti ve>
the
\ /
<noun>
**
Figure D2-1. A finite-state transition diagram.
Let's follow through the net with the input phrase the pretty
picture. We start in the START state and proceed along the arc
labeled the, because that is the left-most word in the input string. This
leaves us in the middle box, with pretty picture left as our string to be
parsed. After one loop around the adjective arc, we are again at
middle node, but this time with the string picture remaining. Since this
word is a noun, we proceed to the FINAL node, **, and arrive there
with no words remaining to be processed. Thus, the parse is successful;
in other words, our sample FSTD accepts this string.
However, regular grammars are inadequate for dealing with the com-
plexity of natural language, as discussed in Article IV. C2. A natural
extension to FSTDs, then, is to provide a recursion mechanism that
increases their recognition power to handle the more inclusive set of
context-free languages. These extended FSTDs are called recursive
transition networks (RTNs). An RTN is a finite- state transition diagram
in which labels of an arc may include not only terminal symbols but
also nonterminal symbols that denote the name of another subnetwork
to be given temporary control of the parsing process.
An RTN operates similarly to an FSTD. If the label on an arc is a
terminal (word or word class), the arc may be taken, as in FSTDs, if
the word being scanned matches the label. For example, the word ball
would match an arc labeled <noun> but not one labeled <adjective>.
Otherwise, if the arc is labeled with a nonterminal symbol, representing
a syntactic construct (e.g., PREPOSITIONAL PHRASE) that corresponds
to the name of another network, the current state of the parse is put
on a stack and control is transferred to the corresponding named sub-
network, which continues to process the sentence, returning control when
it finishes or fails.
Whenever an accepting state is reached, control is transferred to the
node obtained by "popping the stack" (i.e., returning to the point from
which the subnetwork was entered). If an attempt is made to pop an
empty stack, and if the last input word was the cause of this attempt,
D2
Augmented Transition Networks
265
the input string is accepted by the RTN; otherwise, it is rejected. The
effect of arcs labeled with names of syntactic constructs is that an arc
is followed only if a construction of the corresponding type follows as a
phrase in the input string. Consider the following example of an RTN
(Fig. D2-2):
pp
S:
MP
<verb>
MP
■
\ /
**
<adj>
PP
MP:
MP
<det>
\ I
<noun>
\ /
**
PP:
PP
<prep>
MP
**
Figure D2-2. A recursive transition network.
Here NP denotes a noun phrase; PP, a prepositional phrase; det, a deter-
miner; prep, a preposition; and adj, an adjective. Accepting nodes are
labeled **. If the input string is The little boy in the swimsuit kicked
the red ball, the above network would parse it into the following
phrases:
MP
The little boy in the swimsuit
PP
in the swimsuit
MP
the swimsuit
Verb
k i eked
MP
the red ba 1 1
Notice that any subnetwork of an RTN may call any other sub-
network, including itself; in the example above, for instance, the prepo-
sitional phrase contains a noun phrase. Also notice that an RTN may
be nondeterministic in nature; that is, there may be more than one
possible arc to be followed at a given point in a parse. Parsing algo-
rithms handle nondeterminism by parallel processing of the various
266 Understanding Natural Language IV
alternatives or by trying one and then backtracking if it fails. These
general parsing issues are discussed in Article rv.Di.
Context-free grammars, however, are still insufficient to handle nat-
ural language. The RTNs, then, must be extended, to provide even more
parsing power.
ATNs
An augmented transition network (ATN) is an RTN that has been
extended in three ways:
1. A set of registers has been added; these can be used to store
information, such as partially formed derivation trees, between
jumps to different subnetworks.
2. Arcs, aside from being labeled by word classes or syntactic con-
structs, can have arbitrary tests associated with them that must
be satisfied before the arc is taken.
3. Certain actions may be "attached" to an arc, to be executed
whenever it is taken (usually to modify the data structure re-
turned).
This addition of registers, tests, and actions to the RTNs extends their
power to that of Turing machines, thus making ATNs theoretically
powerful enough to recognize any language that might be recognized by
a computer. ATNs offer a degree of expressiveness and naturalness not
found in the Turing machine formalism and are a useful tool to apply
to the analysis of natural language.
The operation of the ATN is similar to that of the RTN except that
if an arc has a test, then the test is performed first and the arc is
taken only if the test is successful. Also, if an arc has actions asso-
ciated with it, then these operations are performed after following the
arc. In this way, by permitting the parsing to be guided by the parse
history (through tests on the registers) and by allowing for a re-
arrangement of the structure of the sentence during the parse (through
the actions on the registers), ATNs are capable of building deep struc-
ture descriptions of a sentence in an efficient manner. For a well-
developed and clear example, the reader is referred to Woods (1970).
Evaluation of A TNs and Results
ATNs serve as a computationally implementable and efficient solu-
tion to some of the problems of recognizing and generating natural
language. Their computational power provides the capability of embed-
ding different kinds of grammars, making them an effective testbed for
D2 Augmented Transition Networks 267
new ideas (Woods, 1970, p. 602). Two of the features of ATNs, the
test and the actions on the arcs, make them especially well suited to
handling transformational grammars. The ability to place arbitrary con-
ditions on the arcs provides context sensitivity, equivalent to the precon-
ditions for applying transformational rules. The capability of rearranging
the parse structure, by copying, adding, and deleting components,
provides the full power of transformations (see Article IV.C2).
The ATN paradigm has been successfully applied to question answer-
ing in limited (closed) domains, such as the LUNAR program, which is
described in Article rv.F3. Also, ATNs have been used effectively in a
number of text generation systems (Article rv.E). In addition, the BBN
speech understanding system, HWIM, used an ATN control structure (see
Article V.C3).
There are limitations to the ATN approach; one, in particular, is
that the heavy dependence on syntax restricts the ability to handle un-
grammatical (although meaningful) utterances.
References
The principal references here are, of course, Woods (1970), Woods
and Kaplan (1971), and Woods (1973a). Also see Bobrow and Fraser
(1969), Conway (1963), Matuzceck (1972), and Winograd (1976).
D3. The General Syntactic Processor
Ronald Kaplan's (1973) General Syntactic Processor (GSP) is a ver-
satile system for the parsing and generation of strings in natural
language. Its data structures are intuitive and the control structures are
conceptually straightforward and relatively easy to implement. Yet, by
adjusting certain control parameters, GSP can directly emulate several
other syntactic processors, including Woods's ATN grammar (Article
IV.D2), Kay's MIND parser (Kay, 1973), and Friedman's text generation
system (Article IV. e).
GSP represents an effort both to synthesize the formal characteristics
of different parsing methods and to construct a unifying framework
within which to compare them. In this respect, GSP is a meta-system —
it is not in itself an approach to language processing, but rather it is a
system in which various approaches can be described.
Data Structure: Charts
GSP gains much of its power through the use of a single, basic data
structure — the chart — to represent both the grammar and the input sen-
tence. A chart can be described as a modified tree, which, in turn, is
usually defined as a set of nodes that can be partitioned into a root
and a set of disjoint subtrees. A tree encodes two sorts of relations
between nodes: DOMINANCE, the relation between a parent and
daughter node, and PRECEDENCE, the relation between a node and its
right-hand sister node. Figure D3-1 shows a tree representing a
particular noun phrase.
NP
DET ADJ
the ta I I man
Figure D3-1. A tree for a noun phrase.
A chart is basically a tree that has been modified in two ways:
1. The arcs of the tree have been rearranged to produce a binary
tree, that is, a tree in which each node has at most two
D3
The General Syntactic Processor
269
dangling nodes (this rearrangement is described by Knuth [1973,
p. 333] as the "natural correspondence" between trees and bi-
nary trees).
2. The nodes and arcs have been interchanged; what were previ-
ously nodes are now arcs, and vice versa.
For example, Figure D3-2 is the chart representation for the tree of
Figure D3-1:
NP
-*■
DET ADJ
O >Q ►&-
the
ta I I man
-►o-
Figure D3-2. A chart for a noun phrase.
The chart representation has a number of advantages, including ease
of access for certain purposes. For example, in Figure D3-1 there is no
direct connection from DET to ADJ. In Figure D3-2 this connection has
been made; that is, the PRECEDENCE relations have been made
explicit, and the DOMINANCE ones have been removed. This explicit
encoding of precedence can be helpful in language processing, where the
concept of one element following another is a basic relation.
Also, the chart can be used to represent a "string of trees" or
"forest" — that is, a set of disjoint trees. For example, Figure D3-3a
shows a string of two disjoint trees, headed by NP and V. Note that
these trees cannot be connected, except with a dummy parent node
(labeled ?). In Figure D3-3b, the equivalent chart representation is
shown.
MP
NP V
/ \
DET M
I I
the man walked
Figure D3-3a. Two disjoint trees. Figure D3-3b. The equivalent chart.
270
Understanding Natural Language
IV
Finally, the chart provides a representation for multiple inter-
pretations of a given word or phrase, through the use of multiple edges.
The arcs in a chart are called edges and are labeled with the names of
words or grammatical constructs. For example, Figure D3-4 represents
the set of trees for I saw the log, including the two interpretations for
the word saw. The chart allows explicit representation of ambiguous
phrases and clauses, as well as of words.
PRO V
o ►<>
see (past t.)
Figure D3-4. A chart showing multiple interpretations.
Note that ambiguity could also be represented by distinct trees,
one for every possible interpretation of the sentence. However, this
approach is inefficient, as it ignores the possibility that certain subparts
may have the same meaning in all cases. With the chart represen-
tation, these common subparts can be merged.
As mentioned above, the arcs in a chart are called edges and are
labeled with the names of words or grammatical constructs. The nodes
are called vertexes. The chart can be accessed through various func-
tions, which permit one to retrieve specific edges, sets of edges, or ver-
texes.
At any given moment during the processing of a sentence, the at-
tention of the system is directed to a particular point in the chart
called the CHART FOCUS. The focus is described by a set of global
variables: EDGE (the current edge), VERTEX (the name of the node
from which EDGE leaves), and CHART (the current subchart being con-
sidered by the processing strategy). GSP's attention is redirected by
changing the values of these variables.
When the chart is initialized, each word in the sentence is rep-
resented by an edge in the chart for each category of speech the word
can take. Figure D3-4 was an example of an initial chart configuration,
preparatory to parsing. Each analysis procedure that shares the chart is
restricted to adding edges, which makes it possible in later analyses to
modify or ignore earlier possibilities without constraining future inter-
pretations. In this way, the individual syntactic programs remain
relatively independent while building on each other's work in a generally
bottom-up way.
D3 The General Syntactic Processor 271
It should be emphasized that the chart is just a data structure and
is not directly related to the grammar. It merely serves as the global
blackboard upon which the various pieces of the grammar operate. We
still must specify the sorts of operations that use the chart — that is, the
form of the grammar itself.
Data Structure: Grammatical Rules
Grammars for syntactic processing of language can be understood in
terms of a network model like Woods's ATN grammar. That is, a gram-
mar is viewed as a series of states, with transitions between the states
accomplished by following arcs (see Article IV.D2).
The grammars encoded by GSP fit this description. What gives GSP
its power, however, is that a grammar can be represented in the same
way as a chart. That is, we can use the chart manipulation mech-
anisms, already developed, to operate upon the grammar itself. There is
a difference, of course. The chart is merely a passive data store; the
grammar contains instructions for (a) acting on the chart — adding pieces
and shifting attention — and (b) acting on the grammar — shifting atten-
tion (i.e., moving from one grammar state to another).
Control Structure
To handle the full complexity of grammars, GSP has some extra
features. These include:
1. REGISTERS. As in ATNs, these are used as pointers to struc-
tures.
2. LEVELSTACK. This is a stack used to implement recursion.
The chart focus, grammar focus (state), and register list are
saved before a recursive call.
3. NDLIST (nondeterminism list). This is a list of choice points in
the grammar. Whenever a choice is made, the user can op-
tionally save the current configuration on NDLIST, to allow for
backtracking.
4. PROCSTACK. This is a list of suspended processes. GSP allows
a co-routining facility, under which processes can be suspended
and resumed (ATNs have no equivalent to this).
Features like recursion, backtracking, and movement of the pointer
through the input sentence must all be implemented by the user within
the general framework provided. This approach can be beneficial, par-
ticularly with features such as backtracking: Automatic backtracking
can be a less than desirable feature in a grammar (see the discussion in
Chap, vi, Vol. n).
272 Understanding Natural Language IV
Using GSP
Note one facet of the approach outlined: All operations on the
grammar and chart must be explicitly stated. Thus, GSP has placed
much power in the hands of the grammar designer, with a corresponding
cost in complexity.
GSP appears to be similar to an ATN, with three extensions:
1. The data structure used is a chart, instead of simply a string of
word 8.
2. The grammar is encoded in the same manner as the chart;
thus, it is accessible to the system.
3. Processes can be suspended and resumed.
ATNs do not fully demonstrate the power of GSP. Kaplan also used
GSP to implement Kay's MIND parser (a context-free, bottom-up system)
and Friedman's transformational-grammar text-generation system. The
last two made more extensive use of GSP's capabilities, in particular:
(a) the possibilities of multiple levels in the chart, (b) the ability to
suspend and restart processes, and (c) the ability to rearrange the chart,
changing it as necessary. The Kay algorithm, in particular, made exten-
sive use of the ability to modify the chart "on the fly," adding sections
as required.
Conclusions and Observations
GSP provides a simple framework within which many language pro-
cessing systems can be described. It is not intended to be a high-level
system that will do many things for the user; rather, it provides a
"machine language" for the user to specify whatever operations he
wants. GSP's small set of primitive operations appears to be sufficient
for representing most of the desirable features of syntax-based parsing.
The clean, uniform structure allows GSP to be used as a tool for com-
parison (and possibly evaluation) of different systems.
The chart seems to be an effective data structure for representing
the syntax of natural language sentences. It provides convenient merg-
ing of common subparts (i.e., to prevent scanning known components
again), while permitting representation of various forms of ambiguity.
As Kay explained, the function of the chart is to "record hypotheses
about the phraseological status of parts of the sentence so that they will
be available for use in constructing hypotheses about larger parts at
some later time" (Kay, 1973, p. 167).
References
Kaplan (1973) is the principal reference.
E. TEXT GENERATION
Computer text generation is the process of constructing text
(phrases, sentences, paragraphs) in a natural language — in a sense, it is
the opposite of natural language understanding by machine. Although
this problem has been investigated for 15 years, few coherent principles
have emerged, and the approaches have varied widely. Attempts at gen-
erating text have been made with two general research goals: (a)
generating random sentences to test a grammar or grammatical theory
and (b) converting information from an internal representation into a
natural language.
Random Generation
This approach, the random generation of text constrained by the
rules of a test grammar, is of limited interest to workers in Artificial
Intelligence, since it is oriented more toward theoretical linguistics than
toward functional natural-language-processing systems. The objective of
implementing a generation system of this sort is to test the descriptive
adequacy of the test grammar, as illustrated by the following two
systems.
Victor Yngve (1962) was one of the first researchers to attempt
English text generation; the work was seen as preliminary to a full
program for machine translation (see Article iv.b). Yngve used a gen-
erative context-free grammar and a random-number generator to produce
"grammatical" sentences: The system randomly selected one production
from among those that were applicable at each point in the generation
process, starting from those productions that "produced" < SENTENCE >
and finally randomly selecting words to fill in the <NOUN>, <VERB>,
and other like positions. This is an example of the text produced by
the system:
The water under the wheels in oiled whistles and its polished shiny
big and big trains is black.
Joyce Friedman's (1969, 1971) system was designed to test the ef-
fectiveness of transformational grammars (Article IV. C2). It operated by
generating phrase markers (derivation trees) and by performing transfor-
mations on them until a surface structure was generated. The generation
was random, but the user could specify an input phrase marker and
semantic restrictions between various terminals in order to test specific
rules for grammatical validity.
274 Understanding Natural Language IV
These two systems, while relevant to work in linguistics, are only
peripherally related to recent work in Artificial Intelligence. The funda-
mental emphasis in AI text-generation work has been on the meaning,
as opposed to the syntactic form, of language.
Surface Realization of Meaning
The general goal of text-generation programs in the AI paradigm is
to take some internal representation of the "meaning" of a sentence and
convert it to surface- structure form, that is, into an appropriate string
of words. There has been considerable variety among such systems, re-
flecting differences both in the type of internal representation used and
in the overall purpose for which the text is generated. Representation
schemes have included largely syntactic dependency trees, stored gener-
ation patterns of different degrees of complexity, and several versions of
semantic nets (see Chap. m). Purposes have included automatic para-
phrasing or machine translation of an input text, providing natural-
sounding communication with the user of an interactive program, and
simply testing the adequacy of the internal representation.
Sheldon Klein (1965) made a first step beyond the random gener-
ation of sentences, by means of a program that attempted to generate a
paraphrase of a paragraph of text through an internal representation of
that text (see also Klein and Simmons, 1963). The program used a type
of grammar called dependency grammar, a context-free grammar with
word-dependency information attached to each production. That is, the
right-hand side of each rule in the grammar has a "distinguished
symbol"; the "head" of the phrase associated with that rule is the head
of the phrase that is associated with the distinguished symbol. All
other words that are part of the phrase associated with the production
are said to depend on this head.
For instance, given the following simple dependency grammar and
the sentence The fierce tigers in India eat meat, Klein's parser would
produce both an ordinary phrase-structure derivation tree (see Article
iV.Ci) and also the dependency tree shown below (Fig. E-l):
TIGERS
S «- NP* + MP
IMP <- DET + ADJ + l\l* + PP
PP «- PREP* + NOUN
VP <- V* + OBJ
MDIA NEAT
Figure E-l. A dependency tree.
E Text Generation 275
The symbols followed by * are the distinguished symbols in the
productions. The dependency trees from the individual sentences of the
input paragraph were bound together with "two-way dependency" links
between similar nouns. For example, the input paragraph
The man rides a bicycle. The man is tall. A bicycle
is a vehicle with wheels.
would yield the dependency structure shown in Figure E-2. One
paraphrase generated from the given paragraph was The tall man rides
a vehicle with wheels.
MAM < ► MAM
THE RIDES THE IS
1 i
BICYCLE < ► BICYCLE TALL
A A IS
I
VEHICLE
I I
A WITH
I
WHEELS
Figure E-2. Multiple dependency trees.
The grammar used in generating the paraphrases was similar to the
one used for analysis. Rule selection was random (as in Yngve's method)
but with the added constraint that all dependencies among the words
that were generated must be derivable from the initial dependency trees.
In the example above, vehicle could be generated as the object of rides
because vehicle depends on is, is on bicycle, and bicycle on rides. Two
restrictions were imposed on the transitivity of dependency relations:
Dependency did not cross verbs other than be or prepositions other than
of. Thus, The man rides wheels could not be generated.
The use of dependency trees was expected to ensure that the output
sentences would "reflect the meaning of the source text" (Klein, 1965,
p. 74). A difficulty, however, was that the trees encoded only the
crudest of the semantic relations present in the paragraph. In fact, the
dependency relation between words only indicates that some semantic
relation exists between them without really specifying the nature of the
relation.
Ross Quillian (1968), in contrast, emphasized the expression of se-
mantic relationships almost to the exclusion of concern for syntactic
276 Understanding Natural Language IV
well-formedness. Quillian did pioneering work in the representation of
knowledge (see Chap, m) and was also one of the first to deal with the
problems of text generation. His system employed a semantic net to
represent the relations between words, which can be interpreted as their
meaning. The task the system was then to perform was to compare
two words, that is, find some semantic relation between them, and then
to express the comparison in "understandable, though not necessarily
grammatically perfect, sentences" (p. 247). For example:
Compare: Plant, Live
Answer: PLANT IS A LIVE STRUCTURE.
This relation between the two words was discovered as a path in the
net between the nodes that represented the words. Although this was a
primitive semantic net scheme, many fundamental issues were first raised
by Quillian 's system.
One important point was that paths in the semantic net did not
necessarily correspond to input sentences. Instead, the discovery of paths
between two nodes amounted to making inferences on the knowledge in
memory. For example, another relation the system found between plant
and live was:
PLANT IS STRUCTURE WHICH GET-FOOD FROM AIR. THIS FOOD
IS THING WHICH BEING HAS-TO TAKE INTO ITSELF TO KEEP LIVE.
In order to have found this connection, the system had to discover a
connection between PLANT and LIVE, by way of FOOD, that was not
directly input.
Although Quillian 's semantic net system was limited, it strongly in-
fluenced much of the later work in NL and the representation of knowl-
edge in AI. This influence reflected Quillian 's stress on the importance
of the semantic versus the surface components of language:
As a theory, the program implies that a person first has something
to say, expressed somehow in his own conceptual terms (which is
what a "path" is to the program), and that all his decisions about
the syntactic form that a generated sentence is to take are then
made in the service of this intention. (Quillian, 1968, p. 255)
This is a strong statement about language, and this view, of a cognitive
process manipulating an internal representation, is perhaps the essence of
the AI perspective.
Terry Winograd's blocks world program, SHRDLU (1972), contained
several text- generation devices. Their function was to allow the sys-
tem, which is described in Article IV.F4, to answer questions about the
state of its table top domain and certain of the system's internal states.
E Text Generation 277
The basic text-generation techniques used were "fill in the blank"
and stored response patterns. For example, if an unfamiliar word was
used, SHRDLU responded, "I don't know the word ..." More complex
responses were called for by questions asking why or how an action had
been done. For why, the system answered with "because < event >" or
"in order to <event>," where < event > referred to a goal that the
program had had when the action was taken. For example, "Why did
you clear off that cube?" might be answered by "To put it on a large
green cube." The program retrieved the appropriate event from its his-
tory list and then used a generation pattern associated with events of
that type. For an event of the type "(PUTON OBJ1 OBJ2)," the pat-
tern would be:
(<correct form of to puty, <I\IP for 0BJ1>, ON, <NP for 0BJ2>)
Noun phrases in the pattern were generated by associating an English
word with every known object; adjectives and relative clauses were
added until a unique object (within the domain of discourse) was de-
scribed.
The stilted text generated by this scheme was moderated by the
(heuristic) use of pronouns for noun phrases. For example, if the
referent of a noun phrase had been mentioned in the same answer or in
the previous one, an appropriate pronoun could be selected for it.
SHRDLU' s limited domain of discourse allowed it to exhibit surprisingly
natural dialogue with such simple techniques.
Simmons and Slocum (1972) developed a natural language system
that generated sentences from a semantic network representation of
knowledge, based on a case grammar (see Article IV. C4). The program
produced surface structure from the network by means of an augmented
transition net (ATN), adapted for the purpose of generation rather than
parsing (see Article IV.D2). The object of the work was to substantiate
the claim that "the semantic network adequately represents some impor-
tant aspect of the meaning of discourse"; if the claim were true, then
"the very least requirement" was that "the nets be able to preserve
enough information to allow regeneration of the sentences — and some of
their syntactic paraphrases — from which the nets were derived" (p. 903).
An illustration of the capabilities of the system is given by the
paragraph below, which was initially hand-coded into semantic network
notation. (For a later version of the program in which the parsing was
done automatically, see Simmons, 1973.)
John saw Mary wrestling with a bottle at the liquor bar. He went
over to help her with it. He drew the cork and they drank
champagne together.
278
Understanding Natural Language
IV
The network notation, in simplified form, is indicated by the following
representation of John saw Mary wrestling:
ci
C2
TOKEN
(see)
C3
TOKEN
(wrest 1 e)
TINE
PAST
TIME
PROGRESSIVE PAST
DATIVE
C2
AGENT
C4
OBJECT
C3
TOKEN
(John)
C4
TOKEN
(Mary)
NUMBER
SINGULAR
NUMBER
SINGULAR
Here CI, C2, C3, and C4 are nodes in the network representing concepts
that are tokens of meanings of see, wrestle, John, and Mary. PAST
and SINGULAR are also nodes. TOKEN, TIME, OBJECT, and the like
are types of arcs, or relations.
The representation shown was augmented by other relations, at-
tached to verb nodes, such as MOOD (indicative or interrogative),
VOICE (active or passive), and information about the relative times of
events. Using this representation, the system was able to reconstruct
several versions of the original paragraph. One read:
John saw Mary wrestling with a bottle at the liquor bar. John
went over to help her with it before he drew the cork. John and
Mary together drank the champagne.
The actual generation was accomplished by an ATN in which the
arcs were labeled with the names of relations that might occur in the
semantic net. The actual path followed through the ATN — and thus the
exact text generated — depended both on which relations were actually
present and on which node or nodes were chosen as a starting point.
Wong (1975) has extended this approach, incorporating features to
handle extended discourse.
Neil Goldman's (1975) program generates surface structure from a
database of conceptual dependency networks, as the text-generation part
of the MARGIE system, described in Article IV.F5. The conceptual de-
pendency (CD) knowledge representation scheme is based on language-
independent semantic primitives, so the actual word selection for output
must be performed by Goldman's text-generation subsystem, called
BABEL. This is accomplished by means of a discrimination net (a kind
of binary decision tree — see Article XI.D, in Vol. m) that operates on a
CD network that is to be verbalized. This discrimination net is used to
select an appropriate verb sense to represent the event specified by the
CD. (A verb sense is a meaning of the verb — DRINK, for example, has
two senses, to drink a fluid and to drink alcohol.) Essentially, there are
E
Text Generation
279
only a few verbs that can represent the event, and a set of predicates
determines which one to use. For instance, the primitive INGEST can
be expressed as eat, drink, or breathe, depending on the nature of the
substance ingested:
(EQ (ACTION) INGEST)
(PROP (OBJECT) FLUID)
drink
(PROP (OBJECT) GAS)
breathe
eat
Figure 1. A sample discrimination net from MARGIE.
(Goldman, 1975, p. 331)
Once a verb sense has been selected, an associated framework is
used to generate a case-oriented syntax net, which is a structure similar
to the semantic net of Simmons and Slocum. These frameworks include
information concerning the form of the net and where in the concep-
tualization the necessary information is located. After the framework
has been filled out, other language-specific functions operate on the
syntax net to complete it syntactically with respect to such things as
tense, form, mood, and voice. Finally, an ATN is used to generate the
surface structure, as in the Simmons and Slocum program.
Yorick Wilks (1973) has developed a program that generates French
from a semantic base of templates and paraplates. This is part of his
machine translation system described in Article IV.F2.
Discussion
In computer text generation, as the richness and completeness of the
underlying semantic representation of the information has increased, the
quality of the resulting paraphrase has improved. Like other areas of
AI, the basic problem is to determine exactly what the salient points to
be discussed are and to obtain a good representation of them. Future
work in text generation will also have to address areas such as extended
discourse and stylistics. In this direction, Clippinger (1975) has looked
at psychological mechanisms underlying discourse production, and Cohen
280 Understanding Natural Language IV
(1978) has studied the planning of speech acts for communication in
context.
References
Recent research in text generation is described by Appelt (1980),
McDonald (1980), McKeown (1980), and Mann and Moore (1980).
F. NATURAL LANGUAGE PROCESSING SYSTEMS
Fl. Early Natural Language Systems
Early work on machine processing of natural language assumed that
the syntactic information in the sentence, along with the meaning of a
finite set of words, was sufficient to perform certain language tasks — in
particular, to answer questions posed in English. Several of these early
natural language programs are reviewed here — their techniques, their suc-
cesses, and their shortcomings. These programs were limited to dialogues
about restricted domains in simple English and ignored the difficult
grammatical problems of complex constructions found in unrestricted
English. Through work with programs of this genre, it became apparent
that people constantly apply extensive world-knowledge in processing
language and that a computer could not hope to be a competent lan-
guage user without "understanding." These programs bridge the gap
between the early machine translation attempts of the 1950s and cur-
rent, semantics-based natural language systems (see Article iv.a).
SAD-SAM
SAD-SAM (Syntactic Appraiser and Diagrammer — Semantic Analyzing
Machine) was programmed by Robert Lindsay (1963a) at Carnegie Insti-
tute of Technology in the IPL-V list-processing language. The program
accepts English sentences about kinship relations, builds a database, and
answers questions about the facts it has stored.
It accepts a vocabulary of Basic English (about 1,700 words) and
follows a simple context-free grammar. The SAD module parses the input
from left to right, builds a derivation tree structure, and passes this
structure on to SAM, which extracts the semantically relevant (kinship-
related) information to build the family trees and find answers to
questions.
Though the subset of English processed by SAD is quite impressive
in extent and in complexity of structure, only kinship relations are con-
sidered by SAM; all other semantic information is ignored. SAM does
not depend on the order of the input for building the family trees; if a
first input assigns offspring B and C to X, and offspring D and E to Y,
two "family units" will be constructed, but they will be collapsed into
one if we learn later that E and C are siblings. (Multiple marriages are
282 Understanding Natural Language IV
illegal.) However, SAM cannot handle certain ambiguities; the sentence
Joe plays in his Aunt Jane's yard indicates that Jane is either the sister
or sister-in-law of Joe's father, but SAM assigns one and only one con-
nection at a time and therefore cannot use the ambiguous information:
The structure of the model permits storing definite links but not
possible inferences.
BASEBALL
Also in the early 1960s, Bert Green and his colleagues at Lincoln
Laboratories wrote a program called BASEBALL (Green et al., 1963),
again using the IPL-V programming language. BASEBALL is essentially
an information retrieval program, since its database of facts about all of
the American League games during one year is not modified by the pro-
gram. Acceptable input questions from the user must have only one
clause, no logical connectives (and, or, not), no comparatives (higher,
longer), and no facts about sequences of events; also, most words must
be recognized by the extensive dictionary.
The parsing system uses 14 categories of parts of speech and right
to left scanning to structure the input question into functional phrases.
Using this structure and the keywords found in the question, the input
is transformed into a specification list that is the canonical expression
for the meaning of the question. For example, the question How many
games did the Yankees play in July? becomes:
TEAM = YANKEES
MONTH = JULY
GAMES (number of) = ?
The answer is found by searching the database for data items matching
the specification list, storing them on a "found" list, and eventually
processing and outputting them.
The size of the dictionary and the heuristics for resolving syntactic
ambiguities (score can be a verb or a noun; Boston, a place or the
name of a team) make it possible for BASEBALL to answer most rea-
sonable English questions about the games stored in the database. How-
ever, BASEBALL does not return to the user for clarification of semantic
ambiguities. It simply fails to parse the sentence and asks for a re-
phrasing of the question. Though the database is not modified by the
program, BASEBALL exhibits deductive abilities in parsing questions and
processing the found-list.
Fl Early Natural Language Systems 283
SIR
SIR (Semantic Information Retrieval) was written in LISP by
Bertram Raphael (1968) as part of his thesis research at M.I.T. It is a
prototype "understanding" machine, since it can accumulate facts and
then make deductions about them in order to answer questions.
SIR accepts a restricted subset of English. It matches sentences
against 24 matching patterns of the following sort:
* IS
*
* is
part of
*
Is *
* ?
How many * d
oes *
have
?
What
is the
* of
* ?
where the elements matched against * are nouns, possibly modified by a
"quantifier" such as a, the, every, each, or a number. The match with
a pattern triggers the appropriate action in the program. A sample con-
versation might look like this:
Every boy is a person
I UNDERSTAND
A finger is part of a hand
I UNDERSTAND
There are two hands on each person
I UNDERSTAND
How many fingers does John have ?
THE ABOVE SENTENCE IS AMBIGUOUS BUT I ASSUME (has) MEANS
(has as parts)
I DON'T KNOW WHETHER FINGER IS PART OF JOHN
John is a boy
I UNDERSTAND
How many fingers does John have ?
THE ABOVE SENTENCE IS AMBIGUOUS BUT I ASSUME (has) MEANS
(has as parts)
HOW MANY FINGERS PER HAND ?
Every hand has 5 fingers
THE ABOVE SENTENCE IS AMBIGUOUS BUT I ASSUME (has) MEANS
(has as parts)
THE ANSWER IS 10
Who is President of the United States ?
STATEMENT FORM NOT RECOGNIZED
284 Understanding Natural Language IV
SIR's world is concerned with only a small group of relations be-
tween objects, as specified by the 24 matching patterns. Declarative
input statements are used to build the model, and the patterns have
been chosen to express concepts that commonly occur in human conver-
sation: set inclusion, spatial relationship, and the like. The program
has certain built-in knowledge (like transitivity of set inclusion) that
allows it to answer questions about some facts not explicitly stated
during input. SIR can also interact with the user to gather more infor-
mation or to resolve ambiguities.
STUDENT
STUDENT is another pattern-matching natural language program,
written by Daniel Bobrow (1968) as his doctoral research project at
M.I.T. STUDENT can read and solve high- school-level algebra story
problems like the following:
If the number of customers Tom gets is twice the square of 20 per
cent of the number of advertisements he runs, and the number of
advertisements he runs is 45, what is the number of customers
Tom gets?
The entire subset of English recognized by STUDENT is derived
from the following set of basic patterns:
(WHAT ARE * AMD *) (FIND * AND *)
(WHAT IS *) (* IS MULTIPLIED BY *)
(HOW MANY *1 IS *) (* IS DIVIDED BY *)
(HOW MANY * DO * HAVE) (* IS *)
(HOW MANY * DOES * HAVE) (* (*1/VERB) *1 *)
(FIND *)
(* (*1/VERB) * AS MANY * AS * (+1/VERB) *)
The * sign indicates a string of words of any length, *1 indicates one
word, and (*1/VERB) means the matching element must be recognized
as a verb by the dictionary.
To construct the algebraic equations that will lead to the solution,
the problem statement is scanned, first for linguistic forms associated
with the equality relation (such as [* IS *]), then for algebraic oper-
ators. STUDENT then builds a list of the answers required, the units
involved in the problem, and a list of all the variables in the equations.
Then STUDENT invokes the SOLVE module with the set of equations
and the desired unknowns.
If SOLVE fails, STUDENT applies heuristics such as expanding idi-
oms, identifying two previously "slightly different" variables, or invoking
the REMEMBER module that contains special facts like:
Fl Early Natural Language Systems 285
(FEET IS THE PLURAL OF FOOT)
(ONE HALF ALWAYS MEANS .5)
(SUCCESSFUL CANDIDATES SOMETIMES MEANS STUDENTS WHO
PASSED THE ADMISSIONS TEST)
(DISTANCE EQUALS SPEED TIMES TIME)
(ONE FOOT EQUALS 12 INCHES)
If all else fails, STUDENT can request more information from the user.
Each time a heuristic succeeds in finding a new equation, the aug-
mented set is sent to SOLVE. STUDENT finally prints the solution
(using the pattern "variable IS value") or reports its inability to solve
the problem. In this example, STUDENT would print
(THE NUMBER OF CUSTOMERS TOM GETS IS 162)
STUDENT'S simple pattern-matching scheme, combined with its small
set of well-chosen heuristics, does an impressive job of parsing typical
high-school-algebra word problems. The program can be tricked easily
(Bill has 3 apples, 2 pears, and one dog would be parsed into two
clauses); but as implemented, it solved the problems submitted as fast
as humans could (in one case, several times faster than an M.LT. grad-
uate student who was not using the special "age problem" heuristics).
A slightly modified version was found to be a good model for human
problem solving, in a study conducted by Paige and Simon (1966).
ELIZA
Perhaps the most famous of these "pattern-matching" natural lan-
guage programs was ELIZA, written by Joseph Weizenbaum (1966) at
M.LT. This program assumes the role of a Rogerian, or "nondirective,"
therapist in its dialogue with the user. Although ELIZA's dialogue with
the user appears surprisingly realistic, the program uses no more intel-
ligent mechanisms than those described above. Rather, the nature of
therapist-patient dialogue lends itself to simulation in this manner. A
sample dialogue might look like this (with ELIZA's response in caps):
Men are all a I ike.
IN WHAT WAYS
They re always bugging us about something or other.
CAN YOU THINK OF A SPECIFIC EXAMPLE
Well, my boyfriend made me come here.
YOUR BOYFRIEND MADE YOU COME HERE
He says I'm depressed much of the time.
I AM SORRY TO HEAR THAT YOU ARE DEPRESSED
286 Understanding Natural Language IV
It's true. I'm unhappy.
DO YOU THINK CONING HERE WILL HELP YOU NOT TO BE UNHAPPY
I need some help, that much seems certain.
WHAT WOULD IT MEAN TO YOU IF YOU GOT SOME HELP
Perhaps I could learn to get along with my mother.
TELL ME MORE ABOUT YOUR FAMILY
WHAT ELSE COMES TO MIND WHEN YOU THINK OF YOUR FATHER
Bu II i es .
DOES THAT HAVE ANYTHING TO DO WITH THE FACT THAT YOUR
BOYFRIEND MADE YOU COME HERE
ELIZA is programmed in the SLIP language (Symmetric List Proces-
sor), developed by Weizenbaum (1963). An off-line script composed of
key lists specifies the nature of the input language by specifying for
each keyword a set of patterns to look for and the possible transforma-
tions associated with each pattern. For example, assuming the keyword
is me, a pattern used for matching might be
(0 YOU 0 ME)
and one of the transformation rules associated with this pattern might
be
(WHAT MAKES YOU THINK I 3 YOU)
where 0 in the pattern matches any string of words, and 3 in the
transformation rule designates the third element matched (in this case,
everything between YOU and ME). The input is scanned from left to
right for a keyword; a systematic hashing procedure very quickly elim-
inates words that cannot be keywords. ELIZA deletes the part of text
preceding a punctuation delimiter if no keyword has been found; other-
wise, the part following it (ensuring thus that the transformation will be
applied to one single phrase or sentence). If several keywords are
found, they are stored in turn in a "key stack" according to the rank
of precedence associated with each of them; then the input is matched
against each decomposition rule in turn. These patterns can be ordered
in the key list so that the more complex ones are tried first; for
example, the pattern
(0 10 DEPRESSED 0)
Fl Early Natural Language Systems 287
for the keyword / is hard to match, but if a match is achieved, the
answer can be more spectacular than the transformations for the "gen-
eral match" pattern for /,
(oio) .
When a match is found, ELIZA generates a response, cyclically using the
reassembly rules associated with the appropriate decomposition rule. If
no decomposition rule matches for a given keyword, the key stack is
popped and the pattern-matching procedure is repeated for the new
keyword. If the key stack is empty, a response like "Please go on," "I
see," or "Very interesting" will always do.
Several other tricks — like substituting for keywords in its response,
associating keywords with a class or situation (Mother implies family),
and remembering these keyword affiliates over the course of the conver-
sation— help enhance the illusion of intelligent dialogue.
Conclusions
None of these early natural language systems dealt with the syntax
of language in any sophisticated way. In these programs, the semantic
knowledge needed to respond to the user was implicit in the patterns
and the ad hoc rules used for parsing. More recent natural language
programs maintain large databases of explicit world-knowledge that they
use to assist in parsing the sentence as well as in interpreting it.
References
For general reference, see Boden (1977), in which there are lucid
discussions of several of these systems; see also Simmons (1965, 1970)
and Winograd (1974). The collections edited by Feigenbaum and Feld-
man (1963) and by Minsky (1968) contain much of the original material.
F2. Wilks's Machine Translation System
Current work in machine translation of languages is exemplified by
Yorick Wilks's system (1973), which can produce good French from
small English paragraphs. The system stresses semantics-based proces-
sing over conventional syntactic analysis in both the analysis and the
generation stages. The input English text is first converted to a
semantic representation and then to the final translated text. (The use
of an intermediate representation bears some similarity to Weaver's idea
of interlingua, discussed in Article IV.B.) Wilks stresses that his se-
mantic representation is designed for machine translation and may not
be appropriate for other NL tasks like question answering. The ra-
tionale for this is that an explicit representation of all of the logical
implications of a sentence, which is necessary for some tasks, may be
mostly unnecessary for translation: If the two languages are similar, an
appropriate target sentence with the same implications can often be
found in a more straightforward way.
Wilks's system first fragments the input text into substrings of
words; it then replaces each word in the text fragments with the in-
ternal formulas representing the word's meanings and matches the
resulting string of formulas against a set of standard forms called bare
templates. The output of this stage is a first approximation to a seman-
tic representation of each of these fragments. The system then tries to
tie together these representations to produce a more densely connected
representation for the complete text. When this process has been com-
pleted, the generation of the output text is accomplished by unwinding
the interlingual representation using functions that interpret it in the
target language.
The interlingual representation is based on semantic primitives that
Wilks calls elements. Elements express the basic entities, states, qual-
ities, and actions about which humans communicate. In the system as
reported in Wilks (1973), there were 60 of these elements, which fell
into five classes. For example, the class ENTITIES contains elements
like MAN and STUFF, and the class ACTIONS includes CAUSE and
FLOW. (See Article m.C6 for a thorough dicussion of the status of
semantic primitives in Wilks's research.)
The elements are used to build up formulas — each formula represents
the sense of a word and is composed of elements combined into a
binarily bracketed list-data structure. For example, the sense of the
word drink when used as a verb is represented by the following formula:
F2 Wilks's Machine Translation System 289
((♦AMI SUBJ)
(((FLOW STUFF) OBJE)
((*ANI IN) (((THIS (*AI\II (THRU PART))) TO) (BE CAUSE)))))
In other words, the word drink is an action, (BE CAUSE), done by ani-
mate subjects, (*ANI SUBJ), to liquids, ((FLOW STUFF) OBJE). It causes
the liquid to be in the animate object, (*ANI IN), through a particular
aperture of the animate object, ((THIS (*ANI (THRU PART))) TO).
Wilks and Herskovits (1973) point out that the formulas represent
information about a word, or one sense of a word, not knowledge about
the thing that the word stands for. In particular, the formulas rep-
resent the preferences a word has for being used in sentences with cer-
tain other kinds of words. For example, in analyzing the sentence John
drank a whole pitcher, it is the preference of drink for a liquid object
that would help select the formula representing the container- of- liquid
sense of pitcher rather than the baseball-player sense. And these are
preferences, not requirements, since in understanding the metaphorical
sentence My car drinks gasoline, the preference of drink for an animate
subject must be overlooked.
The system's dictionary contains formulas for all the word senses
paired with stereotypes for producing the translated words in the target
language. The following is an example of two stereotypes for the word
advise (into French):
(ADVISE (CONSEILLER A (FN1 FOLK NAN))
(CONSEILLER (FN2 ACT STATE STUFF)))
The two functions FN1 and FN2 are used to distinguish the two
possible constructions in French for the object of conseiller: conseiller
a . . . and simply conseiller . . . The first would be used in translating
I advise John to have patience; the second, for / advise patience.
Functions like these in stereotypes are evaluated by the generation
routines. Each function evaluates either to NIL, in which case the
stereotype fails, or to words that will appear in the output text. The
stereotypes serve the purpose of a text generation grammar, providing
complex, context-sensitive rules for overriding defaults where required,
without search of a large store of such rules. This is an example of
procedural representation of knowledge (see Article m.C2).
Analysis of an English sentence by the system proceeds in several
stages. First, as mentioned above, the text is broken into fragments (at
punctuation marks, conjunctions, prepositions, etc.), and each fragment
is replaced by a sequence of formulas, one formula for each word in the
290 Understanding Natural Language IV
fragment. Now, the dictionary may contain several formulas for a
word, representing its different senses, so there may be several alter-
native sequences of formulas that could represent a given fragment.
To select the right formula sequence, each sequence is reduced to
the sequence of elements that form the heads of its formulas. For ex-
ample, the sentence Small men sometimes father big sons would produce
the following head-element sequences:
(KIND MAW HOW MAN KIND MAN)
(KIND MAN HOW CAUSE KIND MAN)
which reflect the two senses of father, noun and verb, respectively.
These sequences of head elements are matched against the bare tem-
plates, a built-in set of element triples in actor-action-object format.
Examples of such triples are MAN-CAUSE-MAN (which happens to
match the second interpretation above) and MAN-DO- THING. The
system interprets a sentence fragment on the basis of one of the bare
templates that matches one of the alternative sequences of formula
headers. It is assumed that it is possible to build up a finite inventory
of bare templates that would be adequate for the analysis of ordinary
language. The inventory for the system has been determined empirically
and is easily modified. Special forms of templates are available to
match fragments like prepositional phrases.
At the initial stage of bare-template matching, some senses of the
words in the fragment can be rejected because they produce head-
element sequences that fail to match any bare template (as does the
first interpretation of father above). However, more than one candidate
template may remain. For example, if the fragment is The policeman
interrogated the crook, there will still be two possible bare templates,
MAN-FORCE-MAN and MAN-FORCE-THING, that match the fragment
when crook is taken to be a person and a shepherd's staff, respectively.
At the next stage of the analysis, called expansion, a more detailed
matching algorithm is used. The principle followed is that the final tem-
plate representation chosen for a fragment is the one in which the most
preferences are satisfied. In this example, the preference of interrogate
for a human object is decisive. The result of this stage is a full tem-
plate— a network of formulas — for each fragment, in which semantic
dependencies among the formulas (indicating satisfied preferences) have
been noted. The overall goal of semantic density — that is, of maximizing
the interdependence of formulas — is one of the key ideas in Wilks's
work and produces a good solution to many problems of ambiguity.
In the succeeding stage of analysis, the templates for individual frag-
ments are tied together with higher level dependencies, expressed in
F2 Wilks's Machine Translation System 291
terms of paraplates, or patterns that span two templates. The use of
paraplates is to resolve prepositional or case ambiguities (see Article
IV.C4). For example, the fragments he ran the mile and in four minutes
would be tied together by a paraplate for the TIMELOCATION case;
had the second fragment been in a plastic bag, a CONTAINMENT case
paraplate would have matched instead. A similar technique is used to
resolve simple problems of pronoun reference, as in / bought the wine,
sat on a rock, and drank it. In both cases, the chief preference of the
system is for semantic density.
Finally, the system applies some commonsense inference rules to
deal with situations in which, to resolve pronoun references, more ex-
plicit world-knowledge is required than formulas, templates, and para-
plates provide. At the completion of this analysis, the input text has
been replaced by an interlingual representation with suitable markers,
and other information is used by the text generation routines in a rel-
atively straightforward manner to produce the final output text.
References
This description of Wilks's work is based primarily on Wilks (1973)
and Wilks and Herskovits (1973). Other descriptions include Wilks
(1975a, 1975b, 1975c, 1977b, 1978).
Also of interest: Charniak and Wilks (1976) and Schank (1975a).
F3. LUNAR
LUNAR is an experimental, natural-language, information retrieval
system designed by William Woods at BBN (Woods, Kaplan, and Nash-
Webber, 1972; Woods, 1973b) to help geologists access, compare, and
evaluate chemical- analysis data on moon rock and soil composition ob-
tained from the Apollo-11 mission. The primary goal of the designers
was research on the problems involved in building a man-machine
interface that would allow communication in ordinary English. A "real
world" application was chosen for two reasons: First, it tends to focus
effort on the problems really in need of solution (sometimes this is
implicitly avoided in "toy" problems) and, second, the possibility of
producing a system capable of performing a worthwhile task lends addi-
tional impetus to the work.
LUNAR operates by translating a question entered in English into an
expression in a formal query language (Codd, 1974). The translation is
done with an augmented transition network (ATN) parser coupled with a
rule-driven semantic interpretation procedure, which guides the analysis
of the question. The "query" that results from this analysis is then ap-
plied to the database to produce the answer to the request. The query
language is a generalization of the predicate calculus (Article m.Ci). Its
central feature is a quantifier function that is able to express, in a
simple manner, the restrictions placed on a database-retrieval request by
the user. This function is used in concert with special enumeration
functions for classes of database objects, freeing the quantifier function
from explicit dependence on the structure of the database. LUNAR also
served as a foundation for the early work on speech understanding at
BBN (see Article V.C3).
Detailed Description
The following list of requests is indicative of the kinds of English
constructions that can be handled by LUNAR (shown as they would
actually be presented to the system):
1. (WHAT IS THE AVERAGE CONCENTRATION OF ALUMINUM IN
HIGH ALKALI ROCKS?)
2. (WHAT SAMPLES CONTAIN P205?)
3. (GIVE ME THE MODAL ANALYSES OF P205 IN THOSE SAMPLES)
4. (GIVE ME EU DETERMINATIONS IN SAMPLES WHICH CONTAIN ILM)
LUNAR processes these requests in the following three steps:
F3 LUNAR 293
Syntactic analysis using an augmented transition network parser and
heuristic information (including semantics) to produce the most
likely derivation tree for the request;
Semantic interpretation to produce a representation of the meaning
of the request in a formal query language;
Execution of the query language expression on the database to pro-
duce the answer to the request.
LUNAR 's language processor contains an ATN grammar for a large
subset of English, the semantic rules for interpreting database requests,
and a dictionary of approximately 3,500 words. As an indication of the
capabilities of the processor, it is able to deal with tense and modality,
some anaphoric references and comparatives, restrictive relative clauses,
certain adjective modifiers (some of which alter the range of quan-
tification or interpretation of a noun phrase), and embedded complement
constructions. Some problems do arise in parsing conjunctive construc-
tions and in resolving ambiguity in the scope of quantifiers. Emphasis
has been placed on the types of English constructions actually used by
geologists, so that the system knows how geologists habitually refer to
the objects in its database.
The Query Language
The formal query language contains three types of objects: desig-
nators, which name classes of objects in the database (including func-
tionally defined objects); propositions, which are formed from predicates
with designators as arguments; and commands, which initiate actions.
Thus, if SI 0046 is a designator for a particular sample, OLIV is a
designator for the mineral olivine, CONTAIN is a predicate, and TEST is
a truth-value-testing command, then "(TOST (CONTAIN S10046 OLIV))"
is a sample expression in the query language. The primary function in
the language is the quantifier function FOR, which is used in expressions
of the following type:
( FOR QUANT X / CLASS : PX ; QX )
where QUANT is a quantifier like each or every, or a numerical or com-
parative quantifier, X is a variable of quantification, CLASS determines
the class of objects over which the quantification is to range, PX spec-
ifies a restriction on the range, and QX is the proposition or command
being quantified. FOR is used with enumeration functions that can
access the database. Thus, FOR itself is independent of the database
structure. As an example (taken from Woods, 1973b), if SEQ is an
enumeration function for enumerating a precomputed list, and if
294 Understanding Natural Language IV
PRINTOUT is a command that prints a representation for the designator
given as its argument, then
( FOR EVERY XI / (SEQ TYPECS) : T ; (PRINTOUT XI) )
prints the sample numbers for all type C samples. In this case, there is
no restriction on the range of quantification in that PX = T.
A fuller example of the operation of LUNAR (simplified slightly from
the same source) is shown below.
Request:
(DO ANY SAMPLES HAVE GREATER THAN 13 PERCENT ALUMINUM)
Query Language Translation (after parsing):
(TEST (FOR SOME XI / (SEQ SAMPLES) : T ; (CONTAIN XI
(NPR* X2 / 'AL203) (GREATERTHAN 13 PCT))))
Response:
YES
LUNAR is perhaps the best operational example of a finely tuned
ATN parsing system applied to a real-world problem. Since the system
does have limited performance goals (in that facilitating database inquiry
is not as demanding as, say, holding an interesting conversation), some
of the complications inherent in understanding natural language dia-
logues are avoided.
References
See Woods (1973b), Woods and Kaplan (1971), and Woods, Kaplan,
and Nash-Webber (1972).
F4. SHRDLU
The natural language processing system SHRDLU was written by
Terry Winograd (1972) as his doctoral research project at M.I.T. It was
written in LISP and MICRO-PLANNER, a LISP-based programming lan-
guage. The design of the system was based on the belief that to
understand language, a program must deal in an integrated way with
syntax, semantics, and reasoning. The basic viewpoint guiding its imple-
mentation was that meanings (of words, phrases, and sentences) can be
embodied in procedural structures and that language is a way of acti-
vating appropriate procedures within the hearer. Thus, instead of repre-
senting knowledge about syntax and meaning as rules in a grammar or
as patterns to be matched against the input, Winograd embodied the
knowledge in SHRDLU in pieces of executable computer code. For
example, the context-free rule saying that a sentence is composed of a
noun phrase and a verb phrase,
S -> NP VP ,
is embodied in the MICRO-PLANNER procedure:
(PDEFINE SENTENCE
(((PARSE NP) NIL FAIL)
((PARSE VP) FAIL FAIL RETURN)))
When called, this program, named SENTENCE, uses independent pro-
cedures for parsing a noun phrase followed by a verb phrase. These, in
turn, can call other procedures. The process FAILs if the required con-
stituents are not found. With such special procedural representations
for syntactic, semantic, and reasoning knowledge, SHRDLU was able to
achieve unprecedented performance levels.
SHRDLU operates within a small "toy" domain so that it can have
an extensive model of the structures and processes allowed in the do-
main. The program simulates the operation of a robot arm that manip-
ulates toy blocks on a table. The system maintains an interactive
dialogue with the user: It can accept statements and commands as well
as answer questions about the state of its world and the reasons for its
actions. The implemented system consists of four basic elements: a
parser, a recognition grammar for English, programs for semantic anal-
ysis (to change a sentence into a sequence of commands to the robot or
into a query of the database), and a problem solver (which knows about
how to accomplish tasks in the blocks world).
296 Understanding Natural Language IV
Each procedure can make any checks on the sentence being parsed,
perform any actions, or call on other procedures that may be required
to accomplish its goal. For example, the VERB PHRASE procedure
called above contains calls to functions that establish verb- subject agree-
ment by searching through the entire derivation tree for other constit-
uents while still in the middle of parsing the VP. SHRDLU's knowledge
base includes a detailed model of the blocks world it manipulates, as
well as a simple model of its own reasoning processes, so that it can
explain its actions.
Reasoning in SHRDLU
SHRDLU's model of the world and reasoning about it are done in
the MICRO-PLANNER programming language, which facilitates the rep-
resentation of problem- solving procedures, allowing the user to specify
his own heuristics and strategies for a particular domain. (The philos-
ophy and implementation of PLANNER are described in Article VI. C2, in
Vol. n — the brief discussion here will illustrate its use in SHRDLU.)
Knowledge about the state of the world is translated into MICRO-
PLANNER assertions, and manipulative and reasoning knowledge is em-
bodied in MICRO-PLANNER programs. For example, the input sentence
The pyramid is on the table might be translated into an assertion of the
form:
(ON PYRAMID TABLE)
SHRDLU's problem solver consists of a group of "theorems" about
the robot's environment and actions, represented as MICRO-PLANNER
procedures. In operation, the theorem prover manipulates the state of
the domain by running MICRO-PLANNER programs that perform the
actions requested by the user.
The main idea of PLANNER is to solve problems by means of spe-
cific procedures built into the problem statements themselves, as well as
by applying general problem- solving rules. The advantage of these
problem- specific rules, or heuristics, is that they can radically increase
the efficiency of the process. Furthermore, the problem statements are
programs and thus can carry out actions in the problem- solving process.
Thus, to put one block on another, there might be a MICRO-PLANNER
program of the form:
(THGOAL (ON ?X ?Y)
(OR (ON-TOP ?X ?Y)
(AND (CLEAR-TOP ?X)
(CLEAR-TOP ?Y)
(PUT-ON ?X ?Y))))
F4 SHRDLU 297
This means that, if X is not already on Y, such a state can be
achieved by clearing off everything that is stacked on top of X (so that
the robot can move X), clearing off Y (so that X can be placed on top
of Y), and then putting X on Y. The procedure resembles a predicate
calculus theorem, but there are important differences. The PLANNER
procedure is a program, and its operators carry out actions. The
THGOAL procedure finds an assertion in the database or proves it with
other procedures. AND and OR are logical connectives. The crucial
element is that though PLANNER may end up doing a proof, it does so
only after checking some conditions that may make the proof trivial, or
impossible, and it only performs the proof on relevant arguments, rather
than checking all entities in the database as a blind theorem prover
might. Moreover, no sharp distinction is drawn between proof by
showing that a desired assertion is already true and proof by finding a
sequence of actions (manipulating blocks) that will make the assertion
true.
Grammar, Syntax, and Semantics
SHRDLU's grammar is based on the notion of systemic grammar, a
system of choice networks that specifies the features of a syntactic unit,
how the unit functions, and how it influences other units (as described
in Article IV.C3). Thus, a systemic grammar contains not only the con-
stituent elements of a syntactic group but also higher level features such
as mood, tense, and voice.
To facilitate the analysis, the parsing process looks for syntactic
units that play a major role in meaning, and the semantic programs are
organized into groups of procedures that are applicable to a certain type
of syntactic unit. In addition, the database definitions contain semantic
markers that can be used by the syntactic programs to rule out gram-
matical but semantically incorrect sentences such as The table picks up
blocks. These markers are calls to semantic procedures that check for
restrictions, for example, that only animate objects pick up things.
These semantic programs can also examine the context of discourse to
clarify meanings, establish pronoun referents, and initiate other
semantically guided parsing functions.
Parsing
To write SHRDLU's parser, Winograd first wrote a programming lan-
guage, embedded in LISP, which he called PROGRAMMAR. This
language supplies primitive functions for building systemically described
syntactic structures. The theory behind the language is that basic
298 Understanding Natural Language IV
programming methods, such as procedures, iteration, and recursion, are
also basic to the cognitive process. Thus, a grammar can be imple-
mented without additional programming paraphernalia; special syntactic
items (such as conjunctions) are dealt with through calls to special
procedures. PROGRAMMER operates basically in a top-down, left-to-
right fashion but uses neither a parallel processing nor a backtracking
strategy in dealing with multiple alternatives (see Article rv.Di). It finds
one parsing rather directly, since decisions at choice points are guided
by the semantic procedures. By functionally integrating its knowledge of
syntax and semantics, SHRDLU can avoid exploring alternative choices
in an ambiguous situation. If the choice does fail, PROGRAMMAR has
primitives for returning to the choice point with the reasons for the
failure and informing the parser of the next best choice based on these
reasons. This "directed backup" is far different from PLANNER'S
automatic backtracking in that the design philosophy of the parser is
oriented toward making an original correct choice rather than es-
tablishing exhaustive backtracking.
The key to the system's successful operation is the interaction of
PLANNER reasoning procedures, semantic analysis, and PROGRAMMAR.
All three of these elements examine the input and help direct the
parsing process. By making use of this multiple-source knowledge and
programmed-in "hints" (heuristics), SHRDLU successfully dealt with lan-
guage issues such as pronouns and referents. The reader is referred to
Winograd's Understanding Natural Language (1972), pages 8-15, for an
illustrative sample dialogue with SHRDLU.
Discussion
SHRDLU constituted a significant step forward in natural language
processing research because of its attempts to combine models of human
linguistic and reasoning methods in the language understanding process.
Before SHRDLU, most AI language programs were linguistically simple;
they used keyword and pattern-oriented grammars. Furthermore, even
the more powerful grammar models used by linguists made little use of
inference methods and semantic knowledge in the analysis of sentence
structure. A union of these two techniques gives SHRDLU impressive
results and makes it a more viable theoretical model of human language
processing.
SHRDLU does have its problems, however. Like most existing nat-
ural language systems, SHRDLU cannot handle many of the more com-
plex features of English. Some of the problem areas are agreement,
dealing with hypotheses, and handling words like the and and.
F4 SHRDLU 299
Wilks (1974) has argued that SHRDLU's power does not come from
linguistic analysis but from the use of problem- solving methods in a sim-
ple, logical, and closed domain (blocks world), thus eliminating the need
to face some of the more difficult language issues. It seems doubtful
that if SHRDLU were extended to a larger domain, it would be able to
deal with these problems. Further, the level at which SHRDLU seeks to
simulate the intermixing of knowledge sources typical of human rea-
soning is embedded in its processes rather than made explicit in its
control structure, where it would be most powerful. Lastly, its problem
solving is still highly oriented toward predicate calculus and limited in
its use of inferential and heuristic data (Winograd, 1974, pp. 46-48).
References
Winograd (1972) is the principal reference on SHRDLU. A conve-
nient summary is given in Winograd (1973). Boden (1977) also presents
a clear and concise discussion of the system. Winograd (1980b) reviews
SHRDLU and subsequent directions of his research into understanding
language.
Also of interest are the MICRO-PLANNER manual (Sussman, Wino-
grad, and Charniak, 1970) and Wilks (1974), Winograd (1974), and
Winograd (in press).
F5. MARGIE
MARGIE (Meaning Analysis, Response Generation, and Inference on
English) was a program developed by Roger Schank and his students at
the Stanford AI Laboratory (see Schank, 1975a). Its intent was to pro-
vide an intuitive model of the process of natural language understand-
ing. More recent work by Schank and his colleagues at Yale University
on script-based story understanding in their SAM and PAM systems is
described in Article IV.F6.
Conceptual Dependency Theory
Schank (1973b) developed conceptual dependency (CD) as a represen-
tation for the meaning of phrases and sentences. The "basic axiom" of
conceptual dependency theory is:
For any two sentences that are identical in meaning, regardless of
language, there should be only one representation of that meaning
in CD. (Schank and Abelson, 1977, p. 11)
Schank thus allies himself with the early machine translation concept of
interlingua, or intermediate language (see Article IV.B), and has in fact
done some machine translation research in conjunction with the story
understanding project, SAM.
A second important idea is that conceptual dependency representa-
tions are made up of a very small number of semantic primitives, which
include primitive acts and primitive states (with associated attribute
values). Examples of primitive acts are:
PTRANS The transfer of the physical location of an
object. For one to "go" is to PTRANS oneself.
"Putting" an object somewhere is to PTRANS it
to that place.
PROPEL The application of physical force to an object.
ATRANS The transfer of an abstract relationship. To
"give" is to ATRANS the relationship of possession
or ownership.
NTRANS The transfer of mental information between people
or within a person. "Telling" is an NTRANS between
people; "seeing" is an NTRANS within a person.
NBUILD The construction of new information from old.
"Imagining," "inferring," and "deciding" are NBUILDs.
F5 MARGIE 301
In the most recent version of CD theory (1977), Schank and Abelson
included 11 of these primitive acts. Relations among concepts are called
dependencies, and there is a fixed number of these, each represented
graphically by a special kind of arrow. For example, the canonical
representation of the sentence John gives Mary a book is the graph:
o R | ► Mary
John <===> ATRANS < book <
«- John
where John, book, and Mary are concept nodes, and the ATRANS node
represents one of the primitive acts. The complicated, three-pointed
arrow labeled "R" indicates a recipient-donor dependency between Mary
and John and the book, since Mary got the book from John. The
arrow labeled "o" indicates an "objective" dependency; that is, the book
is the object of the ATRANS, since it is the thing being given. Depen-
dency links may link concepts or other conceptual dependency networks.
Examples of primitive states in conceptual dependency theory in-
clude:
STATES :
Nary HEALTH (-10) Nary is dead.
John MENTAL STATE(+10) John is ecstatic.
Vase PHYSICAL STATE(-IO) The vase is broken.
The number of primitive states is much larger than the number of
primitive actions. States and actions can be combined; for example, the
sentence John told Mary that Bill was happy can be represented (in a
newer, arrowless representation) as
John MTRANS (Bill BE MENTAL-STATE (5)) to Mary.
An important class of sentences involves causal chains, and Schank
and Abelson and their colleagues have worked out some rules about cau-
sality that apply to conceptual dependency theory. Five important rules
are:
1. Actions can result in state changes.
2. States can enable actions.
3. States can disable actions.
4. States (or acts) can initiate mental events.
5. Mental events can be reasons for actions.
These are fundamental pieces of knowledge about the world, and CD
includes a shorthand representation of each (and combinations of some)
called causal links.
302
Understanding Natural Language
IV
The third important idea in conceptual dependency theory is:
Any information in a sentence that is implicit must be made
explicit in the representation of the meaning of that sentence.
(Schank and Abelson, 1977, p. 11)
This idea is the basis for much of the sophisticated inferential ability of
MARGIE and the later systems. It can be illustrated by the CD repre-
sentation of the sentence John eats the ice cream with a spoon:
o D
John <===> INGEST < ice cream < —
ice cream
A
<
v
CONTAIN (spoon)
-► John I John
«
-<- spoon
MOVE
-► spoon
D
ice cream
mouth
where the D and / arrows indicate direction and instrument depen-
dencies, respectively. Note that in this example, mouth has entered the
diagram as part of the conceptualization, even though it was not in the
original sentence. This is a fundamental difference between conceptual
dependency networks and the derivation tree that is produced in parsing
a sentence. John's mouth as the recipient of the ice cream is inherent
in the meaning of the sentence, whether it is expressed or not. In fact,
the diagram can never be finished, because we could add such details as
"John INGESTed the ice cream by TRANSing the ice cream on a spoon
to his mouth, by TRANSing the spoon to the ice cream, by GRASPing
the spoon, by MOVing his hand to the spoon, by MOVing his hand
muscles," and so on. Such an analysis is known to both the speaker
and the hearer of the sentence and normally would not need to be ex-
panded.
For some tasks, like paraphrasing and question answering, CD rep-
resentation has a number of advantages over more surface-oriented sys-
tems. In particular, sentences like
Shakespeare wrote Hamlet
and
The author of Hamlet was Shakespeare.
F5 MARGIE 303
which in some sense have the same meaning, map into the same
CD structure. Another important aspect of conceptual dependency
theory is its independence from syntax; in contrast with earlier work in
the paradigms of transformational grammar or phrase-structure grammar,
a "parse" of a sentence in conceptual dependency bears little relation to
the syntactic structure. Schank (1975a) also claims that conceptual
dependency has a certain amount of psychological validity, in that it
reflects intuitive notions of human cognition. The status of semantic
primitives in conceptual dependency theory is discussed further in Article
m.C6.
MARGIE
The MARGIE system, programmed in LISP 1.6, was divided into
three components. The first, written by Christopher Riesbeck, was a
conceptual analyzer, which took English sentences and converted them
into an internal conceptual-dependency representation. This was done
through a system of "requests," which are similar to demons or pro-
ductions (see Article m.C4). A request is essentially a piece of code that
looks for some surface linguistic construct and takes a specific action if
it is found. It consists of a test condition, to be searched for in the
input, and an action, to be executed if the test is successful. The test
might be as specific as a particular word or as general as an entire
conceptualization. The action might contain information about (a) what
to look for next in the input, (b) what to do with the input just found,
and (c) how to organize the representation. The flexibility of this
formalism allows the system to function without depending heavily on
syntax, although it is otherwise quite similar to the tests and actions
that make ATNs such a powerful parsing mechanism.
The middle phase of the system, written by Charles Rieger, was an
inferencer designed to accept a proposition (stated in conceptual depen-
dency) and deduce a large number of facts from the proposition in the
current context of the system's memory. The reason behind this com-
ponent was the assumption that humans understand far more from a
sentence than is actually stated. Sixteen types of inferences were iden-
tified, including cause, effect, specification, and function. The inference
knowledge was represented in memory in a modified semantic net.
Inferences were organized into "molecules," for the purpose of applying
them. An example of this process might be:
John hit Mary .
from which the system might infer (among many other things):
304 Understanding Natural Language IV
John was angry with Nary.
Nary might hit John back.
Nary might get hurt.
The module does relatively unrestricted forward inferencing, which
tended to produce large numbers of inferences for any given input.
The last part of the system was a text generation module written
by Neil Goldman. This took an internal conceptual-dependency represen-
tation and converted it into English-like output, in a two-part process:
1. A discrimination net was used to distinguish between different
word-senses. This permitted the system to use English-specific
contextual criteria for selecting words (especially verbs) to
"name" conceptual patterns.
2. An ATN was used to linearize the conceptual dependency rep-
resentation into a surface-like structure.
The text generation module is also discussed in Article IV.E,
MARGIE ran in two modes: inference mode and paraphrase mode.
In inference mode, it would accept a sentence and attempt to make in-
ferences from that sentence, as described above. In paraphrase mode, it
would attempt to restate the sentence in as many equivalent ways as
possible. For example, given the input
John killed Nary by choking her.
it might produce the paraphrases
John strangled Nary.
John choked Nary and she died because she was unable to breathe.
Discussion
Of particular interest in MARGIE, an experimental system that pro-
vided a foundation for Schank's further work in computational lin-
guistics, was the use of conceptual dependency as an interlingua, a
language-independent representation scheme for encoding the meaning of
sentences. Once the sentence was processed, the surface structure was
dropped and all further work was done using the conceptual dependency
notation. The existence of a canonical representation for all sentences
with the same meaning facilitates tasks like paraphrasing and question
answering.
F5 MARGIE 305
References
Conceptual dependency theory and all three parts of the MARGIE
system are described in detail in Schank (1975a). Since then, the theory
has evolved considerably, and several new systems have been built using
the CD formalisms, all described very well in Schank and Abelson
(1977). Other references for MARGIE include Schank (1973b) and
Schank et al. (1973). The review article by Schank (1980) is a very
interesting discussion of the development of his ideas about natural lan-
guage.
F6. SAM and PAM
Story Understanding
SAM (Script Applier Mechanism) and PAM (Plan Applier Mechanism)
are computer programs developed by Roger Schank, Robert Abelson,
and their students at Yale University to demonstrate the use of scripts
and plans in understanding simple stories (Schank et al., 1975; Schank
and Abelson, 1977). Most work in natural language understanding prior
to 1973 involved parsing individual sentences in isolation; it was thought
that text composed of paragraphs could be understood simply as col-
lections of sentences. But just as sentences are not unconstrained collec-
tions of words, so paragraphs and stories are not without structure.
The structures of stories have been analyzed (Propp, 1968; Rumelhart,
1975; Thorndyke, 1977), and it is clear that the context provided by
these structures facilitates sentence comprehension, just as the context
provided by sentence structure facilitates word comprehension. For ex-
ample, if we have been told in a story that John is very poor, we can
expect later sentences to deal with the consequences of John's poverty
or with the steps he takes to alleviate it.
Different researchers have very different ideas about what constitutes
the structure of a story. Some story grammars are rather syntactic;
that is, they describe a story as a collection of parts like setting, char-
acters, goal introduction, and plans, determined by their sequential posi-
tion in the story rather than by their meaning. The work of Schank
and Abelson reported here has a more semantic orientation. They
propose an underlying representation of each phrase in a story that is
based on a knowledge representation formalism called conceptual depen-
dency theory (CD; described in Article IV.F5). Conceptual dependency,
which creates, from a set of semantic primitives, unique representations
for all sentences with the same meaning, is the theoretical basis for
more complex story structures such as scripts, plans, goals, and themes.
The SAM and PAM programs understand stories using these higher level
structures.
Conceptual dependency representation is, then, the interlingua that
is produced when SAM or PAM parses sentences. The parser for these
programs is an extension of the one developed by Christopher Riesbeck
(1975) for the MARGIE system (Article IV.F5). Further processing in
SAM and PAM involves the manipulation of CD structures and of higher
level structures built on them — scripts, plans, goals, and themes.
F6 SAM and PAM 307
Scripts
A script is a standardized sequence of events that describes some
stereotypical human activity, such as going to a restaurant or visiting a
doctor. Schank and Abelson's assumption is that people know many
such scripts and use them to establish the context of events. A script
is functionally similar to a frame (Minsky, 1975) or a schema (Bartlett,
1932; Rumelhart, 1975), in the sense that it can be used to anticipate
aspects of the events it represents. For example, the RESTAURANT
script (see Fig. F6-1) involves going to a restaurant, being seated,
consulting the menu, and so on. People who are presented with an
abbreviated description of this activity, for example, the sentence John
went out to dinner, infer from their own knowledge about restaurants
that John ordered, ate, and paid for food. Moreover, they anticipate
from a sentence that fills part of the script (e.g., John was given a
menu) what sort of sentences are likely to follow (e.g., John ordered the
lamb). Scripts attempt to capture the kind of knowledge that people
apply to make these inferences. (Article m.C7 discusses scripts, frames,
and representation schemes.)
Players: customer, server, cashier
Props: restaurant, table, menu, food, check, payment, tip
Events:
1. customer goes to restaurant
2. customer goes to table
3. server brings menu
4. customer orders food
5. server brings food
6. customer eats food
7. server brings check
8. customer leaves tip for server
9. customer gives payment to cashier
10. customer leaves restaurant
Header: event 1
Main concept: event 6
Figure F6-1. Restaurant script.
Two components of scripts are of special importance. We will dis-
cuss later how the first component, the script header, is used by SAM
to match scripts to parsed sentences. The second important component
308 Understanding Natural Language IV
is the main concept, or goal, of the script. In the restaurant script, the
goal is to eat food.
The scripts in SAM grew out of Abelson's (1973) notion of scripts as
networks of causal connections. However, they do not depend on ex-
plicit causal connections between their events. In hearing or observing
events that fit a standard script, one need not analyze the sequence of
events in terms of causes, since they can be anticipated just on the
basis of knowing what typically happens in situations in which the
script applies. The identification of events as filling their slots in the
script gives us the intuition of "understanding what happened."
Scripts describe everyday events, but frequently these events (or our
relating of them) do not run to completion. For example:
I went to the restaurant. I had a hamburger.
Then I bought some groceries.
This story presents several problems for a system like SAM that matches
scripts to input sentences. One problem is that the restaurant script is
"left dangling" by the introduction of the last sentence. It is not clear
to the system whether the restaurant script (a) has terminated and a
new (grocery shopping) script has started, (b) has been distracted by a
"fleeting" (one sentence) grocery script, or (c) is interacting with a new
grocery script (e.g., buying groceries in the restaurant). Another thing
that can happen to everyday scripts is that they can be thwarted, as in:
I went to the gas station to fill up my car.
But the owner said he was out of gas.
This is called an obstacle.
Scripts describe rather specific events, and although it is assumed
that adults know thousands of them, story comprehension cannot be
simply a matter of finding a script to match a story. There are just
too many possible stories. Moreover, there are clear cases in which
people comprehend a story even though it does not give enough in-
formation to cause a program to invoke a script, as in
John needed money. He got a gun and went to a liquor store.
Schank and Abelson point out that even if the program had a script for
Robbery, this story offers no basis for invoking it. Nonetheless, people
understand John's goals and his intended actions.
F6 SAM and PAM 309
There must be relevant knowledge available to tie together sen-
tences that otherwise have no obvious connection. . . . The
problem is that there are a great many stories where the
connection cannot be made by the techniques of causal chaining
nor by reference to a script. Yet they are obviously connectable.
Their connectability comes from these stories' implicit reference to
plans. (Schank and Abelson, 1977, p. 75)
Plans
Schank and Abelson introduce plans as the means by which goals
are accomplished, and they state that understanding plan-based stories
involves discerning the goals of the actor and the methods by which the
actor chooses to fulfill those goals. The distinction between script-based
and plan-based stories is very simple: In a script-based story, parts or
all of the story correspond to one or more scripts available to the story
understander; in a plan-based story, the understander must discern the
goals of the main actor and the actions that accomplish those goals.
An understander might process the same story by matching it with a
script or scripts or by figuring out the plans that are represented in the
story. The difference is that the first method is very specialized since a
script refers to a specific sequence of actions, while plans can be very
general since the goals they accomplish are general. For example, in
John wanted to go to a movie. He walked to the bus stop.
we understand that John's immediate goal (called a delta goal or D-goal
because it brings about a change necessary for accomplishment of the
ultimate goal) is to get to the movie theater. Going somewhere is a
very general goal and does not apply just to going to the movies. In
Schank and Abelson's theory, this goal has associated with it a set of
plan boxes, which are standard ways of accomplishing the goal. Plan
boxes for going somewhere include riding an animal, taking public
transportation, driving a car, and so forth.
Obviously, a story understander might have a "Go to the movies"
script in its repertoire, so that analysis of John's goals would be
unnecessary — the system would just "recognize" the situation and re-
trieve the script. This script can be thought of as the standardized
intersection of a number of more or less general goals and their asso-
ciated plan boxes. It would be a "routinized plan" made up of a set of
general subplans: Go to somewhere (the theater), Purchase something (a
ticket), Purchase something (some popcorn), and so forth.
310 Understanding Natural Language IV
A routinized plan can become a script, at least from the planner's
personal point of view.
Thus, plans are where scripts come from. They compete for
the same role in the understanding process, namely as explanations
of sequences of actions that are intended to achieve a goal.
(Schank and Abelson, 1977, p. 72)
The process of understanding plan-based stories involves determining
the actor's goal, establishing the subgoals (D-goals) that will lead to the
main goal, and matching the actor's actions with plan boxes associated
with the D-goals. For example, in
John was very thirsty. He hunted for a glass.
we recognize the D-goal of PTRANSing liquid and the lower level goal
(specified in the plan box for PTRANSing liquid) of finding a container
to do it with.
Goals and Themes
In story comprehension, goals and subgoals may arise from a number
of sources. For example, they may be stated explicitly, as in
John wanted to eat.
they may be nested in a plan box, or they may arise from themes. For
example, if a LOVE theme holds between John and Mary, it is rea-
sonable to expect the implicit, mutual goal of protecting each other
from harm: "Themes, in other words, contain the background infor-
mation upon which we base our predictions that an individual will have
a certain goal" (Schank and Abelson, 1977, p. 132).
Themes are rather like production systems in their situation-action
nature. A theme specifies a set of actors, the situations they may be
in, and the actions that will resolve the situation in a way consistent
with the theme. The goals of a theme are to accomplish these actions.
Schank and Abelson have proposed seven types of goals; we have al-
ready considered D-goals. Other examples are:
A- or Achievement-goals: To desire wealth is to have an
A-Noney goa I .
P- or Preservation-goal: To protect someone may be a P-Health
or P-Nenta I State goal.
C- or Crisis-goal: A special case of P-goals, when action
is immediately necessary.
The LOVE theme can be stated in terms of some of these goals:
F6 SAM and PAM 311
X is the lover; Y is the loved one; Z is another person.
SITUATION ACTIOM
Z cause Y harm A-Health(Y) and possibly
cause Z harm
or C-Health(Y)
not-Love(Y,X) A-Love(Y,X)
General goals: A-Respect(Y)
A-Narry(Y)
A-Approval (Y)
To summarize the knowledge structures we have discussed, we note
their interrelationships:
1. Themes give rise to goals.
2. A plan is understood when its goals are identified and its ac-
tions are consistent with the accomplishment of those goals.
3. Scripts are standardized models of events.
4. Scripts are specific; plans are general.
5. Plans originate from scripts.
6. Plans are ways of representing a person's goals. These goals are
implicit in scripts, which represent only the actions.
7. A script has a header, which is pattern-matched to an input
sentence. Plans do not have headers, but each plan is sub-
sumed under a goal.
SAM
Both SAM and PAM accept stories as input; both use an English-to-
CD parser to produce an internal representation of the story (in con-
ceptual dependency). Both can paraphrase the story and make intelligent
inferences from it. They differ with respect to the processing that goes
on after the CD representation has been built.
SAM understands stories by fitting them into one or more scripts.
After this match is completed, it makes summaries of the stories. The
process of fitting a story into a script has three parts — a PARSER, a
memory module (MEMTOK), and the script applier (APPLY). These
modules work together: The parser generates a CD representation of
each sentence, but APPLY gives it a set of Verb-senses to use once a
script has been identified. For example, once the restaurant script has
312 Understanding Natural Language IV
been established, APPLY tells the parser that the appropriate sense of
the verb to serve is to serve food rather than, for example, to serve in
the army.
The parser does not make many inferences; thus, it does not realize
that it refers to the hot dog in The hot dog was burned. It tasted awful.
This task is left to MEMTOK. This module takes references to people,
places, things, and so forth and fills in information about them. It
recognizes that the it in the sentence above refers to the hot dog, and
"instantiates" the it node in the CD representation of the second sen-
tence with the "hot dog" node from the first sentence. Similarly, in a
story about John, MEMTOK would replace he with John where appro-
priate, and would continually update the John data structure as more
information became available about him.
The APPLY module has three functions. First, it takes a sentence
from the parser and checks whether it matches the current script, a
concurrent (interacting) script, or any script in the database. If this
matching is successful, it makes a set of predictions about likely inputs
to follow. Its third task is to instantiate any steps in the current script
that were "skipped over" in the story. For example, if the first
sentence of a story is John went to a restaurant, APPLY finds a match
with the script header of the restaurant script in its database (refer
back to Fig. F6-1). APPLY then sets up predictions for seeing the
other events listed in the restaurant script in the input. If the next
sentence is John had a hamburger, then APPLY successfully matches this
sentence to the restaurant script (event 6). It then assumes that
events 2-5 happened, and instantiates structures in its CD representation
of the story to this effect. Events 7-10 remain as predictions.
When the whole story has been mapped into a CD representation in
this manner, the SAM program can produce a summary of the story or
answer questions about it. (See Schank and Abelson, 1977, pp. 190-204,
for an annotated sample protocol.) Consistent with the idea of an
interlingua, SAM can produce summaries in English, Chinese, Russian,
Dutch, and Spanish. An example of a SAM paraphrase follows; note
the powerful inferences made by instantiating intermediate script steps:
ORIGINAL: John went to a restaurant. He sat down. He got mad.
He left.
PARAPHRASE: JOHN WAS HUNGRY. HE DECIDED TO GO TO A RESTAURANT.
HE WENT TO ONE. HE SAT DOWN IN A CHAIR. A WAITER
DID NOT GO TO THE TABLE. JOHN BECAME UPSET. HE
DECIDED HE WAS GOING TO LEAVE THE RESTAURANT. HE
LEFT IT.
F6 SAM and PAM 313
SAM inferred that John left the restaurant because he did not get any
service. The basis for this inference is that in the restaurant script,
event 3 represents the waiter coming over to the table after the main
actor has been seated. SAM knows that people can get mad if their
expectations are not fulfilled and infers that John's anger results from
the nonoccurrence of event 3.
PAM
Wilensky's (1978a) PAM system understands stories by determining
the goals that are to be achieved in the story and attempting to match
the actions of the story with the methods that it knows will achieve the
goals. More formally:
The process of understanding plan-based stories is as follows:
a) Determine the goal,
b) Determine the D-goals that will satisfy that goal,
c) Analyze input conceptualizations for their potential realization of
one of the planboxes that are called by one of the determined
D-goals. (Schank and Abelson, 1977, p. 75)
PAM utilizes two kinds of knowledge structures in understanding goals:
named plans and themes. A named plan is a set of actions and sub-
goals for accomplishing a main goal. It is not very different from a
script, although the emphasis in named plans is on goals and the means
to accomplish them. For example, a script for rescuing a person from a
dragon would involve riding to the dragon's lair and slaying it — a
sequence of actions — but a named plan would be a list of subgoals (find
some way of getting to the lair, find some way of killing the dragon,
etc.) and their associated plan boxes. When PAM encounters a goal in
a story for which it has a named plan, it can make predictions about
the D-goals and the actions that will follow. It will look for these D-
goals and actions in subsequent inputs. Finding them is equivalent to
understanding the story.
Themes provide another source of goals for PAM. Consider the
sentences:
1. John wanted to rescue Nary from the dragon.
2. John loves Nary. Nary was stolen away by a dragon.
In both of these cases, PAM will expect John to take actions that are
consistent with the goal of rescuing Mary from the dragon, even though
this goal was not explicitly mentioned in sentence 2. The source of this
goal in sentence 2 is, of course, the LOVE theme mentioned above — if
314 Understanding Natural Language IV
another actor tries to cause harm to a loved one, the main actor sets
up the goal of Achieving-Health of the loved one and possibly harming
the evil party. (It is assumed that the dragon stole Mary in order to
hurt her.)
PAM determines the goals of an actor by (a) noting their explicit
mention in the text of the story, (b) establishing them as D-goals for
some known goal, or (c) inferring them from a theme mentioned in the
story. To understand a story is to "keep track of the goals of each of
the characters in a story and to interpret their actions as means of
achieving those goals" (Schank and Abelson, 1977, p. 217). The pro-
gram begins with written English text, converts it into CD represen-
tation, and then interprets each sentence in terms of goals (predicting D-
goals and actions to accomplish them) or actions themselves (marking
the D-goals as accomplished). When this process is completed, PAM can
summarize the story and answer questions about the goals and actions
of the characters.
Summary
Scripts, plans, goals, and themes are knowledge structures built upon
conceptual dependency theory. SAM is a program for understanding
script-based stories. It matches the input sentences of a story to events
in one or more of the scripts in its database. As such, it processes
input based on expectations it has built up from the scripts. PAM un-
derstands plan-based stories by determining the goals of the characters
of the story and by interpreting subsequent actions in terms of those
goals or subgoals that will achieve them. A great deal of inference can
be required of PAM simply to establish the goals and subgoals of the
story from the input text.
Schank and Abelson argue that human story-understanding is a
mixture of applying known scripts and inferring goals (where no script
is available or of obvious applicability). They are experimenting with
interactions of SAM and PAM, particularly with using SAM to handle
script-based substories under the control of PAM.
References
The recent book by Schank and Abelson (1977) is the most com-
plete and readable source on both of these systems and on the current
state of conceptual dependency theory. For a thorough treatment of
PAM, see the doctoral dissertation by Wilensky (1978a). Schank (1980)
reviews the development of his ideas about natural language processing
and his work on these NL systems.
F6 SAM and PAM 315
Also of interest: Abelson (1973), Bartlett (1932), Minsky (1975),
Propp (1968), Riesbeck (1975), Rumelhart (1975), Schank (1973b),
Schank et al. (1975), Thorndyke (1977), and Wilensky (1978b).
F7. LIFER
The natural language systems described in the preceding articles fall
into two categories: those built to study natural language processing
issues in general and those built with a particular task domain in mind.
In contrast, LIFER, built by Gary Hendrix (1977a) as part of the inter-
nal research and development program of SRI International, is designed
to be an off-the-shelf utility for building "natural language front-ends"
for applications in any domain. In other words, LIFER can be used by
systems designers to create a program that interprets English input and
produces the appropriate sequence of commands for their system — for
example, formal queries for an information retrieval system. The front-
end designers can augment LIFER to fit their particular applications,
and even the eventual users can tailor the LIFER- supported front-end to
meet their individual styles and needs.
Language Specification and Parsing
The LIFER system has two major components: (a) a set of inter-
active functions for specifying a language and (b) a parser. Initially it
contains neither a grammar nor the semantics of any language domain.
An interface builder uses the language specification functions to define
an application language, which is a subset of English that is appropriate
for interacting with his or her application system. The LIFER system
then uses this language specification to interpret natural language inputs
as commands for the application system.
The interface builder specifies the language primarily in terms of
grammatical rewrite rules (see Article IV.Ci). LIFER automatically trans-
lates these into transition trees, which are a simplified form of aug-
mented transition networks (Article IV.D2). Using the transition tree,
the parser interprets inputs in the application language. The result is
an interpretation in terms of the appropriate routines from the
applications system, as specified by the interface builder. The parser
attempts to parse an input string from the top down and left to right
by nondeterministically tracing down the transition tree whose root node
is the start symbol (known as <L.T.G.> for "LIFER top grammar").
For example, suppose the interface builder has specified the following
three production rules as part of the application language:
<L.T.G.> -► WHAT IS THE <ATTRIBUTE> OF <PERS0I\I> | el
<I_.T.G.> -> WHAT IS <PERS0N> <ATTRIBUTE> | e2
<L.T.G.> -¥ HOW <ATTRIBUTE> IS <PERS0I\I> I e3
F7 LIFER 317
If an input matches one of these patterns, the corresponding expres-
sion (e1? e2> or e3) *s evaluated — these are the appropriate interpretations
that the system is to make for the corresponding input. The transition
tree built by the language specification functions would look like this:
/ — THE-<ATTRIBUTE> OF <PERS0f\l> | el
WHAT IS
\ — <PERS0M> <ATTRIBUTE> I e2
<L.T.G.>
HOW <ATTRIBUTE> IS <PERS0I\J> e3
Sentences such as:
What is the age of Nary's sister?
How old is Nary 's sister?
What is John's height?
How ta I I is John?
might be parsed with this simple transition tree, depending on how
the nonterminal symbols or meta-symbols, < ATTRIBUTE > and
<PERSON>, are defined. (The interface builder can supply a preproces-
sing function that is applied to the input string before LIFER attempts
to parse it. Typically, the preprocessor strips trailing apostrophes and
s's, so that LIFER sees John's as John.)
During parsing, LIFER starts at the symbol <L.T.G.> and attempts
to move toward the expressions to be evaluated at the right. The parser
follows a branch only if some portion at the left of the remaining input
string can be matched to the first symbol on the branch. Actual words
(such as what or of in the above example) can be matched only by
themselves. Meta-symbols (such as <ATTRIBUTE> or <PERSON>) can
be matched in a number of ways, depending on how the interface
builder has defined them:
1. As a simple set (e.g., <PERSON> = the set {Mary, John, Bill});
2. As a predicate that is applied to the string to test for satis-
faction (e.g., some meta-symbol used in a piece of grammar to
recognize dates might test whether the next string of characters
is a string of digits, and thus a number); or
3. By another transition tree that has this meta-symbol as its root
node.
The above example is typical: A large amount of semantic infor-
mation is embedded in the syntactic description of the application lan-
guage. JOHN and HEIGHT are not defined as instances of the single
318 Understanding Natural Language IV
meta-symbol <NOUN> as they would be in a more formal grammar,
but rather are separated into the semantic categories indicated by the
meta-symbols <PERSON> and < ATTRIBUTED The technique of
embedding such semantic information in the syntax has been referred to
as semantic grammar (Burton, 1976), and it greatly increases the per-
formance of LIFER's automatic spelling correction, ellipsis, and para-
phrase facilities, described below.
Applications
LIFER has been used to build a number of natural language inter-
faces, including a medical database, a task scheduling and resource allo-
cation system, and a computer-based expert system. The most complex
system built with a LIFER interface involved a few man-months of
development of the natural language front-end: The LADDER system
(Language Access to Distributed Data with Error Recovery) developed at
SRI, which provides real-time natural language access to a very large
database spread over many smaller databases in computers scattered
throughout the United States (Sacerdoti, 1977; Hendrix et al., 1978).
Users of the system need have no knowledge of how the data are
organized nor where they are stored. More important from the point of
view of this article is that users do not need to know a data query
language: They use English, or rather a subset that is "natural" for
the domain of discourse and that is usually understood by the LIFER
front-end. The output of LIFER is a translation into a general database
query language, which the rest of the LADDER system converts to a
query of the appropriate databases on the appropriate computers.
Another interesting system to use a LIFER front-end was the
HAWKEYE system (Barrow et al, 1977), also developed at SRI. This is
an integrated interactive system for cartography or surveillance, which
combines aerial photographs and generic descriptions of objects and
situations with the topographical and cultural information found in
traditional maps. The user queries the database and invokes image-
processing tasks through a LIFER natural language interface. A unique
feature of this interface is the combination of natural language and
nontextual forms of input. For instance, using a cursor to point to
places within an image, the user can ask questions such as "What is
this?" and "What is the distance between here and here?" The inter-
pretation of such expressions results in requests for coordinates from the
subsystem providing graphical input, which are then handed to other
subsystems that have access to the coordinates- to-object correspondences.
F7 LIFER 319
Human Engineering
LIFER is intended as a system that facilitates, for interface builders,
the describing of an appropriate subset of a language and its inter-
pretation in their system and also helps nonexpert users to communicate
with the application system in whatever language has been defined. For
this reason, close attention was paid to the human engineering aspects
of LIFER. Experience with the system has shown that, for some
applications, users previously unfamiliar with LIFER have been able to
create usable natural language interfaces to their systems in a few days.
The resulting systems have been directly usable by people whose field of
expertise is not computer science.
The interface builder. Unlike Winograd's PRO GRAMMAR language
(in SHRDLU, Article IV. F4), there is no compilation phase during which
the language specification is converted into a program. Instead, changes
are made incrementally every time a call to the language specification
functions is made. Furthermore, it is easy (by typing a prefix char-
acter) to intermix statements to be interpreted by the specification func-
tions, statements to be parsed with the partially specified grammar, and
statements to be evaluated in the underlying implementation language of
LIFER, namely, INTERLISP. Thus, the interface builder can define a
new rewrite rule for the grammar or write a predicate for some meta-
symbol and test it immediately, which leads to a highly interactive style
of language definition and debugging. A grammar editor facilitates fix-
ing mistakes. The ability to intermix language definition with parsing
allows the interface user to extend the interface language to personal
needs or taste during a session using the application system. This
extension can be done either by directly invoking the language
specification functions, or, if the interface builder has provided the
facility, by typing natural language sentences whose interpretations
invoke the same language specification functions.
The interface user. LIFER provides many features to ease the task
of the user as he or she types in sentences to be understood by the
system. Interactions with the user are numbered, and the user can refer
back to a previous question and specify some substitution to be made.
For instance:
12. Hou/ many minority students took 20 or more units of credit
last quarter?
PARSED!
87
320 Understanding Natural Language IV
13. Use women for minority in 12
PARSED!
156
(Note the "PARSED!" printed by LIFER to indicate parsing success.)
This facility can be used to save typing (and more errors), both when
similar questions are being asked and when errors in previous inputs are
being corrected. The user can simply specify synonyms to be used.
For instance:
28. Define Bi I I like William
will cause LIFER to treat the word BILL the same as WILLIAM. LIFER
also allows for easy inspection of the language definition, which is useful
for both interface builders and sophisticated users.
There are three additional features implemented in LIFER to make
interactions easier for the user — the spelling correction, ellipsis, and
paraphrase mechanisms. Spelling correction is attempted when LIFER
fails to parse an input. The INTERLISP spelling-correction facility is
used to find candidate words that closely match the spelling of the sus-
pect word. The use of a semantic grammar with its semantically
significant (and small) syntactic categories (e.g., <PERSON> instead of
<NOUN>) greatly restricts the number of alternatives that must be
checked.
While interacting with an applications system, the user may want to
carry out many similar tasks (e.g., in a database query system, one
often asks several questions about the same object). The LIFER system
automatically allows the user to type incomplete input fragments and
attempts to interpret them in the context of the previous input. For
instance, the following three questions might be entered successively and
understood by LIFER:
42. What is the height of John
43. the weight
44. age of Mary's sister
If an input fails normal parsing, and if spelling correction doesn't help,
LIFER tries elliptic processing. Again, because languages defined in
LIFER tend to encode semantic information in the syntax definition,
similar syntactic structures tend to have similar semantics. Therefore
LIFER accepts any input string that is syntactically analogous to any
contiguous substring of words in the last input that parsed without
ellipsis. The analogies do not have to be in terms of complete subtrees
of the syntactic tree, but they do have to correspond to contiguous
words in the previous input. The elliptical processing facilitates quite
natural interactions.
F7 LIFER 321
The paraphrase facility allows users to define new syntactic struc-
tures in terms of old structures. The user gives an example of the
structure and interpretation desired, and the system builds the most
general, new syntactic rule allowed by the syntactic rules already known.
The similarity between the semantics and syntax is usually sufficient to
ensure that a usable syntax rule is generated. The following example
assumes that the interface builder has included a rule to interpret the
construction shown to invoke a call to the language specification func-
tion PARAPHRASE with appropriately bound arguments. After typing
63. Let "Describe John" be a paraphrase of "Print the
height, weight and age of John"
the user could expect the system to understand the requests
64. Descri be Nary
65. Describe the tallest person
66. Describe Marys sister
even with a fairly simply designed LIFER grammar.
Conclusions
Although grammars constructed with LIFER may not be as powerful
as specially constructed grammars, LIFER demonstrates that useful nat-
ural language systems for a wide variety of domains can be built simply
and routinely without a large- scale programming effort. Human engin-
eering features and the ability of the naive user to extend the system's
capabilities are important issues in the usefulness of the system.
References
Hendrix (1977a), Hendrix (1977b), and the LIFER manual (Hendrix,
1977c) all describe the LIFER system. The LADDER information
retrieval application is described in Hendrix et al. (1978) and Sacerdoti
(1977). Barrow et al. (1977) describe the HAWKEYE system.
Chapter V
Understanding Spoken Language
CHAPTER V: UNDERSTANDING SPOKEN LANGUAGE
A. Overview / 825
B. Systems Architecture / 332
C. The ARPA SUR Projects / 848
1. HEARSAY / 348
2. HARPY / 849
3. HWIM / 853
4. The SRI/SDC Speech Systems / 358
A. OVERVIEW
A MAJOR OBJECTIVE of current work in computer science and engi-
neering is to achieve more comfortable, natural, and efficient interfaces
between people and their computers. Since speech is our most natural
form of communication, using spoken language to access computers has
become an important research goal.
There are several specific advantages to speech as an input medium.
With speech as the means of accessing the computer, even casual users
need relatively little training before interacting with a complex system.
Interactions in such a case can be quick, since speech is our fastest
mode of communication (about twice the speed the average typist can
type), and the computer user's hands are free to point, manipulate the
display, and so forth. This capability is especially important in environ-
ments that place many simultaneous demands on the user, as in aircraft
or space flight operations (see Lea, 1980c).
The Problem: Understanding Connected Speech
Work on isolated-word recognition systems in the 1960s preceded the
development of speech understanding systems. The technique of the
isolated-word systems is to compare the incoming speech signal with an
internal representation of the acoustical pattern of each word in a
relatively small vocabulary and to select the best match, using some
"distance" metric (Vincens, 1969). In doing this, several troublesome
characteristics of the speech signal must be overcome. One problem is
that the microphone and background noise introduce interference into
the recording of the spoken utterance. Another is that a given speaker
does not pronounce the same words quite the same way every time he
or she speaks, and even if the program is tuned to one speaker, the
matching process between the acoustical pattern of the vocabulary words
(the templates) and the actual utterance is inherently inexact. If the
system must recognize words spoken by more than one speaker, the task
is that much more difficult:
Sizable vocabularies (more than a hundred words) can be realis-
tically utilized with speaker-dependent templates. Smaller vocab-
ularies (on the order of one or two dozen words) can be reliably
utilized in talker-independent systems. (Flanagan et al.. 1980,
p. 442)
326 Understanding Spoken Language V
Until quite recently, these isolated-word recognition systems cost in
the tens of thousands of dollars and offered about 95% accuracy on a
small vocabulary. This methodology has recently been refined to pro-
duce a range of commercially available, isolated-word recognizers of
varying capabilities at prices from $200 to $80,000. The top-of-the-line
systems are said to recognize isolated words from vocabularies of up to
120 words with accuracy as high as 99.5% (Lea, 1980a, pp. 75-76).
Unfortunately, connected speech signals — utterances containing whole
phrases or sentences — cannot be handled by simply matching each word
in the signal against the stored patterns for vocabulary words. For one
thing, the pronunciation of individual words changes when the words are
juxtaposed to form a sentence — sometimes whole syllables are dropped,
or "swallowed," at word boundaries. In fact, finding the boundaries
between words in a connected- speech signal is itself a difficult part of
the speech understanding process. In short, the connected acoustic sig-
nal, which is the foundation for the rest of the processing, does not look
at all like the concatenation of the signals of the individual words.
The difficulties introduced in attempting to recognize connected
speech required a new outlook on the methodology. Researchers specu-
lated that there was more information available to the hearer than just
the acoustic signal and that expectations about the content of the
utterance could be gleaned from additional knowledge about the allowed
forms of utterances and about the subject being discussed (see, e.g.,
Nash-Webber, 1975). For example, in many situations there are rules
about word order (called the grammar) that can be applied to predict
which words may legally follow an already recognized word. The use of
syntactic and semantic knowledge to constrain a system's expectations in
other areas of AI research is discussed in Articles m.A and IV.A.
This change of perspective in speech research — from that of
matching acoustic patterns to one of interpretation of acoustic signals in
light of knowledge about syllables, words, and sentences, about the rules
of conversation, and about the subject under discussion — is often re-
ferred to as the change from speech recognition to speech understand-
ing. One of the key focuses of recent AI research has indeed been the
problem of organizing and manipulating these large and diverse sources
of knowledge.
Current experimental systems for understanding connected speech
can be viewed in terms of a "bottom end" and a "top end" (Klatt,
1977). The task of the bottom end in such a system is to use
knowledge about the variable phonetic composition of the words in the
vocabulary (lexicon) to interpret pieces of the speech signal by
comparing the signal with prestored patterns. The top end, then, aids
A Overview 327
in recognition by building expectations about which words the speaker is
likely to have said, applying syntactic, semantic, and pragmatic con-
straints. (See Article V.B on the architecture of speech understanding
systems.) In some systems, the top end is also responsible for deciding
what the utterance means, once it is recognized, and for responding
appropriately. Top-down processing, based on predicting what the
utterance must mean (from the context and from the words that have
already been recognized), is an important feature of some systems that
are actually capable of responding without recognizing every word that
was said, as people often do.
The ARPA Speech Understanding Research Program
In the early 1970s, the Advanced Research Projects Agency of the
U.S. Department of Defense (ARPA), a major sponsor of AI research,
funded a five-year program in speech understanding research. At that
time, a few isolated-word recognition systems existed, but none that was
capable of recognizing continuous speech. These early systems worked
only with small vocabularies under ideal acoustic conditions. Knowledge
about the phonemic and phonological structure of speech was scattered
through the linguistics literature and had not been applied to the
engineering of speech understanding systems. There was little or no
literature dealing with semantics, prosodies, or pragmatics, and the
parsers that were available were not designed to parse sentences in
which the component words might have been incorrectly identified.
A study group met in 1971 to set guidelines for the ARPA speech
understanding research (SUR) project, with the goal of achieving a
breakthrough in connected- speech understanding capability (Newell et al.,
1973). This group of scientists set specific performance criteria for each
dimension of system inputs and outputs: The systems to be designed
and built were to accept normally spoken sentences (connected speech)
in a constrained domain with a 1,000-word vocabulary and were to
respond reasonably fast with less than 10% error.
Some of the goals established for the ARPA SUR project were
intentionally flexible. In particular, they specified a lexicon of 1,000
words, but not which words; they allowed for an artificial syntax, but
did not say how simple or complicated the syntactic structure of the
language could be; they specified a constraining task, but not which
task. The various ARPA SUR projects, therefore, had considerable
freedom in the choice of the semantics, syntax, and lexicon handled by
their systems, and, as we shall see later, final performance was difficult
to compare.
328 Understanding Spoken Language V
This was one of the few times that AI programs had had any
design objectives specified before they were developed. Setting these
standards was important, since they approximated the minimum per-
formance requirements for a practical, connected- speech understanding
system in a highly constrained domain (although producing a practical
system was notably not a goal of the ARPA program).
ARPA funded five speech projects and several subcontracts for de-
veloping parts of speech- systems. Some of the major ARPA contractors
produced multiple systems during the five-year period: Work at Bolt,
Beranek and Newman, Inc. (BBN) produced first SPEECHLIS and then
HWIM (Hear What I Mean), building on earlier BBN research on under-
standing natural language (see Article IV.F3). Carnegie-Mellon University
(C.M.U.) produced the HEARSAY-I and DRAGON systems in the early
development phase (1971-1973) and the HARPY and HEARSAY-E pro-
grams by 1976. SRI International also developed a speech understanding
program, partly in collaboration with Systems Development Corporation
(SDC). Although these systems were all built for the same purpose, they
emphasized different problems in speech understanding research and
systems design.
The Status of Speech Understanding Research
The differences in emphasis among the experimental SUR systems
complicated comparison of their performance at the termination of the
ARPA project (in September 1976). Since the systems operated in
different task domains, they could not be compared on a standard set of
utterances. These different task domains — document retrieval (HARPY,
HEARSAY-E), answering questions from a database (the SRI system and
BBN's HWIM), and voice chess (HEARSAY-I)— had considerably different
levels of difficulty. If one measures a task's difficulty by the average of
the number of words that might come next after each word in each
legal sentence, called the average branching factor (ABF), then HARPY's
document-retrieval task had a difficulty of only 33 compared to an ABF
of 196 for HWIM's database-retrieval task. Furthermore, little effort was
made to exclude words from HWIM's vocabulary that sounded alike,
making recognition still harder. Although restrictions on the vocabulary
and sentences to simplify the understanding task were within the ARPA
guidelines, it has been argued that they were carried to extremes and
that the HARPY system in particular was too restricted:
This grammar . . . characterizes a non-habitable, finite set of sen-
tences, with virtually no "near-miss" sentence pairs included. . . .
The grammar permits sentences of the form "We wish to get the
A Overview 329
latest forty articles on < topic >," but one cannot say a similar
sentence with T' for "we," "want" for "wish," "see" for "get,"
"a" for "the," "thirty" for "forty," or any similar deviation from
exactly the word sequence given above. (Wolf and Woods, 1980,
p. 334)
The systems also varied in the number of speakers and amount of room
noise that could be accommodated and in the amount of tuning required
for each new speaker.
Illustrating the effect of the task domain on performance, the
DRAGON system, developed at C.M.U. during the first phase of the
ARP A- sponsored research, was tested on different tasks. The system's
performance on recognizing the words ranged from 63% to 94%, and
varied from 17% to 68% on recognition of complete utterances. This
variation of results across domains demonstrates the difficulty of spec-
ifying how well a system performs. The number of words in the lexicon
alone is an inadequate measure of the complexity of the understanding
task. For example, DRAGON'S performance was better with a particular
194- word vocabulary than with another 37- word vocabulary (consisting of
just the alphabet plus numbers), since the similiarity in phonemic struc-
ture of the 26 letters gave the latter a much higher average branching
factor.
With the proviso about comparing the performance of the systems,
HARPY demonstrated the most convincing success at the end of the
ARPA program. The performance requirements established by the work-
ing committee and the final results of the HARPY, HEARSAY-E, and
HWIM systems are compared in Figure A-l. (HWIM was not quite com-
pleted at the time of the evaluation.)
Since the ARPA-funded research work, new systems have been
developed at IBM, Bell Laboratories, and Lincoln Laboratories, and sub-
systems have been designed at the University of California at Berkeley,
Haskins Laboratories, Speech Communications Research Laboratory, and
Sperry Univac (Lea and Shoup, 1980). The IBM system, which represents
the state of the art in connected- speech understanding, utilizes the dy-
namic programming approach explored in the DRAGON system and is
the most active speech understanding project since the termination of
the ARPA program (see Bahl et al., 1978).
330
Understanding Spoken Language
V
GOAL (November 1971)
Accept connected speech
from many speakers
in a quiet room
using a good microphone
wi th a few tra i n i ng
sentences for each speaker
accepting 1,000 words
using an artificial syntax
in a constraining task
y i e Id i ng < 10% error
in a few times real time
(on a very fast computer)
Figure A-l. Comparison of ARPA SUR systems (after Klatt, 1977,
and Lea and Shoup, 1980).
HARPY
HEARSAY-H
HWIM
Yes
Yes
Yes
3 ma 1 e
1 ma 1 e
3 ma 1 e
2 femah
a
Compui
ber terminal room
Close-
-ta Iking mi crophone
20-30
60
no tra i n i ng
1,011
1,011
1,097
f i n i te-
-state
1 anguage
restricted ATM
BF = 33
BF = 33, 46
BF = 196
Document
Document
Trave 1
retri eva 1
retri eva 1
management
5%
9%, 26%
56%
Yes
Yes, slower
than HARPY
Not qu i te
Summary
Considerable progress toward practical speech-understanding systems
was made in the 1970s. In addition to meeting performance goals, the
ARPA SUR projects developed important ideas in systems design that
influenced AI research in natural language understanding, knowledge rep-
resentation, search, vision, and control strategies (see the corresponding
chapters of the Handbook, as well as Article V.b). At the level of
phonetics, all the systems developed representations of words that
accounted for different pronunciations, and they all incorporated
between- word juncture rules to account for contextual effects. Network
representations for phonetic knowledge were developed, including SDC's
spelling graphs, HEARSAY'S pronunciation graphs, HWTM's segmented
lattices, and HARPY's integrated network.
A Overview 331
Much was learned during the ARPA SUR work about the archi-
tecture and control of large AI systems. One of the most flexible
frameworks to have emerged is HEARSAY'S blackboard organization for
representing hypotheses at different levels, which has been applied in
several domains besides speech. At the other end of the spectrum,
HARPY's precompiled knowledge structure makes it hard to modify but
results in very high performance.
The following is the summary of the conclusions in 1976 of the
same study group that had established the requirements for the ARPA
project five years earlier:
The gains go beyond empirical knowledge and engineering tech-
nique to basic scientific questions and analyses. A few examples:
Network representations for speech knowledge at several levels have
been created that have substantial generality. A uniform network
representation for the recognition process has been developed.
Rule schemes have been created to express certain phonological
and acoustic-phonetic regularities. . . . Techniques have been found
for measuring the difficulty and complexity of the recognition task.
The problem of parsing (syntactic analysis) with unreliable or
possibly missing words (so that one cannot rely on parsing left-to-
right, but must be able to parse in either direction or middle-out
from good word matches) has been successfully analyzed. New
paradigms have been developed for many of the component
analysis tasks and for the control structure of intelligent systems.
Substantial progress has been made on understanding how to score
performance in a multi-component system, how to combine those
scores, and how to order search priorities. (ARPA SUR Steering
Committee, 1977, pp. 313-314)
The next article in this chapter discusses the important issues in the
design of AI systems that emerged during the ARPA SUR projects. It
is followed by short articles outlining the main features of each of the
ARPA systems.
References
The recent book edited by Lea (1980b) contains the best com-
parative overview of the ARPA speech systems, as well as detailed
articles on the systems themselves written by their designers. The
Computing Surveys article by Erman et al. (1980) is a good, brief
account of the HEARSAY system, illuminating many of the issues in
speech understanding research. For an excellent popular account of the
ambiguities inherent in the phonetic description of an utterance, see
Cole (1979). And for descriptions of early speech research and the goals
of the ARPA program, see Newell (1975) and Reddy (1975).
B. SYSTEMS ARCHITECTURE
During the ARPA-funded research on speech understanding, different
system designs were explored that varied both in their organization of
the knowledge applied to the task and in the way the reasoning process
was controlled. In a typical system, the speech understanding process
begins with a series of transformations that are applied to the original
speech signal, resulting in a compact digital encoding of the utterance.
Further processing of the digitized signal by the different systems can be
viewed as the interpretation of this signal in light of different kinds of
knowledge about the vocabulary and grammar allowed and about the
subject under discussion.
What Knowledge Can Be Applied to Understanding Speech?
The types of knowledge at various "levels" that are used in pro-
cessing spoken language include (from the signal level up):
1. Phonetics — representations of the physical characteristics of the
sounds in all of the words in the vocabulary;
2. Phonemics — rules describing variations in pronunciation that ap-
pear when words are spoken together in sentences (coarticu-
lation across word boundaries, "swallowing" of syllables, etc.);
3. Morphemics — rules describing how morphemes (units of meaning)
are combined to form words (formation of plurals, conjugations
of verbs, etc.);
4. Prosodies — rules describing fluctuation in stress and intonation
across a sentence;
5. Syntax — the grammar or rules of sentence formation, resulting in
important constraints on the number of sentences (not all com-
binations of words in the vocabulary are legal sentences);
6. Semantics — the "meaning" of words and sentences, which can
also be viewed as a constraint on the speech understander (not
all grammatically legal sentences have a meaning — e.g., The snow
was loud); and, finally,
7. Pragmatics — rules of conversation (in a dialogue, a speaker's
response must not only be a meaningful sentence but also be a
reasonable reply to what was said to him). For instance, it is
pragmatic knowledge that tells us that the question Can you tell
me what time it is? requires more than just a Yes or No
response.
B Systems Architecture 333
Phonetic knowledge was used in the early isolated-word recognition
systems in the form of word templates, representations of the acoustic
signal produced by a speaker uttering a single word, which were
matched against the signal to be recognized. However, when words are
spoken in a sentence, the acoustic characteristics of the sounds within
the words vary, so that it is necessary to choose a representation of the
speech signal that includes elementary speech sounds as basic units.
Two kinds of basic unit are the allophone and the phoneme. Allophones
are representations of sounds as they actually occur in words. Pho-
nemes are more abstract representations that capture the common char-
acteristics of a class of allophones.
For example, the phoneme /t/ is known to have four allophones in
English, corresponding to four different ways in which it occurs. (Two
of the allophones of /t/ are the "hard" t at the beginning the word top
and the "flap" t in the middle of the word rattle.) The major advan-
tage of using phonemes as the basic unit for representing spoken words
is that there are relatively few to recognize, which simplifies the higher
levels of the speech understanding task. The disadvantage is that pho-
nemes are abstract units that are not actually found in spoken utter-
ances. To map from the allophones that can be identified in the speech
signal (like the two kinds of /t/ above) to abstract phonemes requires a
sophisticated understanding of how the speech context determines the
allophones of a phoneme. Contextual rules of this kind are the domain
of phonemics. There has been only limited success in applying phonemic
rules in speech understanding systems (see Shoup, 1980, p. 125).
A third possible "basic unit" of speech is the syllable. The syllable
is a difficult unit to define, but it can be recognized with some success
by following the stress patterns in speech. One advantage of using the
syllable as the basic recognition unit is that the subtle transitional
phenomena are subsumed in one syllabic unit. Two problems in doing
so are that it is difficult to decide where one syllable ends and another
begins in the speech signal and that there are a great many more syl-
lables in a language than there are phonemes.
The lexicon, or vocabulary, allowed by each speech understanding
system was represented internally in terms of the pronunciations of all
of the words. (Some systems encoded all of the multiple pronunciations
of each word that could arise from context effects.) In general, the
morphemic level of analysis of traditional linguistics (e.g., determining
number or tense by looking for word endings) is not used in speech
understanding research; the words in the lexicon are taken as basic units
of recognition, even though they may contain more than one morpheme.
One exception to this is the lexical knowledge used in the SDC speech
system (see Barnett et al., 1980, p. 272).
334 Understanding Spoken Language V
Prosody, the pattern of stress and intonation in spoken language,
provides extensive information about the meaning of an utterance: At
the lower levels of analysis, prosody can help identify syllable and word
boundaries; at a syntactic level, it helps to identify phrases within a
sentence; and at the semantic level, it helps to differentiate questions
from declarations and can be a cue to subtle speech acts like irony and
sarcasm. However, prosodic analysis has not yet been used in AI speech
understanding systems.
Syntax and Semantics: Top-down Processing
The most dramatic use of knowledge in speech processing focused on
the application of syntax and semantics to the generation of expecta-
tions about the speech signal. The bottom-end knowledge about pho-
nemes and words described in the previous section was used to construct
hypotheses about what words were present in the signal being analyzed.
As mentioned in Article V.A, top-end knowledge about what things
would be said at certain points in the dialogue and about what form
they might take was used to help identify the words in the speech sig-
nal. The types of knowledge used in this way include syntax, semantics,
and pragmatics.
For example, consider the HEARSAY-I speech system that played
voice chess with a human by responding to the moves that he spoke
into the microphone, using a chess program (see Article n.C5c) to figure
out its best response. Not only did HEARSAY-I apply syntactic knowl-
edge about the specific format of chess moves (e.g., "Pawn to King-4")
to anticipate the form of incoming utterances, but it also used the legal-
move generator of its chess program to suggest moves that were most
likely to be tried by the opponent and then examined the incoming
speech signal for evidence of those particular moves.
The importance of top-down or expectation-driven processing has also
been pointed out by workers in natural language understanding. In
their research on systems that respond to typed-in input, rather than to
spoken sentences, recognition of individual words is not a problem, as it
is in speech understanding. Nevertheless, determining the meaning of
the input, so that an appropriate response is evoked, requires the use of
much knowledge about the world to predict what the input might be
(see Chap. IV, especially Articles IV.F5 and IV.F6).
Similarly, in AI research on vision, where the computer must
interpret a visual scene supplied by a TV camera, a strong model of the
physical world, as well as knowledge about what things the camera is
likely to find, is typically used to help figure out what is in the scene
B Systems Architecture 335
(see Chap, xm, in Vol. m). It is generally agreed that this constraining
knowledge is necessary for adequate performance in tasks like speech
understanding: Without expectations about what to look for in the
input, the task of identifying what is there is impossible. Recent AI
research on knowledge representation using frames and scripts has
stressed this predictive use of knowledge (see Articles m.A and m.C7).
"Experiments" with several systems demonstrated the effect of re-
moving the constraints on signal interpretation supplied by syntactic and
semantic knowledge. The HARPY system, which combined all of the
phonetic, syntactic, and semantic knowledge into one integrated network,
was 97% accurate in actually identifying the words in the utterance,
even though it showed only 42% accuracy in phonetic segmentation of
the utterance. In other words, because of top-end knowledge about
what sequences of words were allowed in utterances, HARPY could often
guess the right words even when it didn't have an accurate phonetic
interpretation of the signal.
In the HEARSAY-I system, where the phonetic, syntactic, semantic,
and other knowledge was separated into independent knowledge sources,
a more convincing kind of experiment, called ablation studies by Newell
(1975), could be performed: The system was designed so that it could
run with only some of the knowledge sources "plugged in." Compared
with its performance with just the phonetics and lexicon knowledge
sources operating, the performance of HEARSAY-I improved by 25%
with the addition of its syntax knowledge source and by another 25%
with the addition of the semantics knowledge source (Lea, 1980a).
Generality versus power. The way that top-down processing is used
to constrain the expected content of sentences reflects an important, uni-
versal issue in AI systems design — the trade-off between generality and
power. The top end of the speech systems contains knowledge about a
specific language and a specific domain of discourse. In the devel-
opment of all of the speech understanding systems, the use of general
grammatical knowledge gave way to grammars that were very specific to
the task requirements (called semantic or performance grammars). By
incorporating the structure of the typical phrases used in a particular
task domain, these grammars combined syntactic, semantic, and some-
times pragmatic knowledge (see Articles V.C3 and V.C4). Repeatedly in
AI research, general methods for problem solving have proved inadequate
until supplemented with large amounts of knowledge and heuristics
specific to the problem at hand (see Article n.A).
336 Understanding Spoken Language V
Knowledge Sources
Given all of the knowledge needed during the processing of the
speech signal, much AI research focused on finding ways of organizing
this knowledge within the system. One influential approach, used by
the HEARSAY systems, involves separating the different types of knowl-
edge into coherent modules, called knowledge sources (KSs). For
example, there might be a prosodies knowledge source that examines the
speech signal for intonation and stress patterns and makes hypotheses
about syllable, word, and phrase boundaries. The knowledge sources
were viewed as independent modules of expertise that cooperated in an-
alyzing the speech signal. This modular organization of the knowledge
in the system should be contrasted with the other principal architecture
used in the ARPA SUR projects, the precompiled network, which rep-
resents all possible pronunciations of all possible sentences in one data
structure (see below).
In the HEARSAY model, the independent knowledge sources for pho-
netics, syntax, semantics, and the like were, in theory, to know nothing
about each other, not even of each other's existence. They were
thought of as independent processes that looked at the speech signal
and posted hypotheses about likely syllables, words, phrases, and so forth
on the blackboard — a global data- structure accessed by all of the KSs
through an established protocol. Hypotheses generated by the lower
level knowledge sources (about syllables and words) would be examined
for feasibility by the syntactic and semantic KSs; these, in turn, could
make suggestions about what words might be expected and post them
on the blackboard.
The advantages of this organization are those generally associated
with modularization of knowledge (see Article m.A): Adding, modifying,
or removing a knowledge source could theoretically be accomplished
without changing the other knowledge sources. Also, in a distributed-
processing implementation, where the different knowledge sources are
running as processes on different machines, a modular system would be
less sensitive to transient failures of processors and communication links,
exhibiting graceful degradation, as it is called (see Erman et al., 1976;
Lesser and Erman, in press). The blackboard organization for repre-
senting multiple types of knowledge has been used in several domains
besides speech understanding, including crystallography (Article vn.C3, in
Vol. n), signal interpretation (Nii and Feigenbaum, 1978), vision (Hanson
and Riseman, 1978b; Levine, 1978), and psychological modeling (Rumel-
hart, 1976; Hayes-Roth and Hayes-Roth, 1979).
B Systems Architecture 337
Compiled Knowledge
The other principal kind of system architecture explored in the
ARPA SUR projects is one in which the knowledge about all of the
sentences that are legal or meaningful in the task domain are pre-
compiled into one decision- tree- like network. The nodes in the network
are allophonic templates, representing the different sounds in the lan-
guage, to be matched against the voice signal. The links in the network
are used to control the matching process: After a successful match at
node N, only the nodes that are linked in the net to node N need be
tried next — no other sounds are "legal" at that point. The processing
of the input signal matches some node in the net to a portion of the
utterance and proceeds left to right through the network, trying to find
the best match according to some comparison metric. Since all of the
alternative sound sequences are already in the network and are not
"hypothesized" on the fly as in the blackboard model, precompiled
network systems are relatively efficient and fast. Deciding which alter-
natives are in fact present at each instant of the utterance is the es-
sence of the processing performed by systems like DRAGON and HARPY
and can be viewed as a form of search. (See the discussions of island
driving and beam search below.)
The HARPY system is distinguished by its integration of phonemic,
lexical, and syntactic knowledge into a single network; other systems
also adopted network representations, usually for one knowledge source
only. In particular, the SDC system used network-like spelling graphs to
represent the different pronunciations possible for a word. Similarly, the
HWIM system used a segmented lattice representation of different pro-
nunciations and embedded the lattices in a tree-like dictionary that had
the important property that any two words that could be spoken in
sequence were linked by an arc representing any contextual effect on
pronunciation. The phonemic and lexical knowledge sources in HWIM
are thus integrated in a manner similar to HARPY, although its other
knowledge sources are not.
Precompiling the alternatives has some disadvantages. For one,
every time the knowledge base is changed — for example, when a new
pronunciation of some word is added — the entire network must be
reconstructed (which took 13 hours of PDP-10 processing time for one of
HARPY's vocabularies). A second disadvantage is that, to fit into
present-day computers, the language recognized by the speech system
must be quite constrained syntactically. In general, only subsets of
English that can be represented by a finite-state grammar can be
compiled into a network of finite size (see Article iV.Ci). Finally, the
338 Understanding Spoken Language V
strategies that control the network-based understanding process may
tend to be more sensitive to errors, like getting off on a wrong track,
than are the more flexible, blackboard-like systems.
With the exception of HARPY, the ARPA SUR systems implemented
independent, modular organizations for their knowledge bases (although
only in HEARSAY was their independence a theoretical issue). The way
that knowledge sources interact, and the strategy for applying the
knowledge to the understanding process, is, as always, the complement
to knowledge-base organization in any discussion of system architecture.
Control Strategies: Hypotheses and Agendas
How do the different speech understanding systems go about inter-
preting an utterance? Where do they start? What are the steps of the
process? How do they decide what to focus on next? The different
knowledge organizations reflect different ideas about how the process of
interpreting the speech signal is to be carried out, and each of the
speech understanding systems has its own complicated algorithm. But
the basic ideas involve the concepts of agenda and search.
In the preceding discussions of knowledge sources and top-down pro-
cessing, the idea of a knowledge source posting a hypothesis on a global
data structure was introduced. The hypotheses indicate that the
knowledge source has either (a) found evidence (in the signal or already
posted on the blackboard) for a certain phoneme, word, or phrase or
(b) predicts, based on what has already been posted, that certain words
or phrases will be found at certain points in the utterance.
The question of control arises here because, somehow, this process of
hypothesis posting has to be coordinated. Will all of the knowledge
sources make hypotheses simultaneously? Or will lower level sources be
used to confirm the guesses of higher sources? Or will it be the other
way around, with phonemic and lexical sources proposing words and
syntactic and semantic sources checking the likelihood of these pro-
posals? How much effort should be focused on the different hypotheses
that are "active," and which alternative hypothesis should be tried first?
These issues of top-down versus bottom-up processing and focus of
attention find their expression within the systems in an agenda-like
mechanism — every time the processor (or one of the processors if there
are several) is free, it must decide, based on some control strategy, what
to do next.
In different systems, this strategy is more or less involved and more
or less explicit. In the HEARSAY systems, all knowledge sources post
hypotheses on the blackboard, and the lower level knowledge sources
B Systems Architecture 339
look for evidence in the speech signal supporting these hypotheses. In
the SRI system, explicit procedures were incorporated to identify the
phrases that were the focus of the discourse, and to process tasks
on the agenda in light of this knowledge. In the HWIM system, the
interaction of knowledge sources is governed by one of many control
processes, controlling the interaction of procedural (subroutine-like)
knowledge sources. In HARPY, where the posting of hypotheses is all
done implicitly when the network is compiled, the control strategy takes
the form of a search through a space of alternatives in the network.
Speech Understanding as Search
In systems like HARPY, in which all or part of the knowledge is in
the form of a precompiled network with "sounds" at each node con-
nected to all of the sounds that can follow it in any of the legal
sentences in the language, interpreting an utterance corresponds to
finding a path through the network representing a sequence of sounds
that most closely matches the sounds in the utterance. Finding such a
path can be thought of in terms of the important AI paradigm of
search (see Chap. n). The goal is the optimal path, and the search
space consists of nodes representing partially completed paths and
branches representing each alternative continuation from the partial
paths. The strategy problem is then rephrased in terms of anchor points
or islands, keeping track of alternatives, backtracking, and beam width.
Island driving. The first question that arises when a speech system
is given a sentence to understand is where to start. It turns out that
starting with the first word in the sentence is not necessarily the most
efficient strategy, just as a purely bottom-up interaction of knowledge
sources was not always optimal. This left- to-right strategy was, how-
ever, used in HARPY and works well with the precompiled network
representation. The disadvantage of this strategy is that if the first word
is not identified correctly, or is not identifiable, understanding of the
rest of the sentence is retarded.
A middle -out strategy was used in HEARSAY and the SRI speech
systems: Find whatever words can be immediately identified, then
expand out to either side of all of them. It is called island driving, be-
cause it establishes islands of relatively certain hypotheses and pushes
out from these islands into the rest of the sentence. One problem with
the strategy is that the number of hypothesized extensions of islands
can be very large, and this combinatorial problem is compounded by
having many islands, especially if the islands are not really reliable
hypotheses and will soon be abandoned.
340 Understanding Spoken Language V
A strategy explored in the HWIM system is a hybrid between island
driving and the left-to-right strategy. The problem of not being able to
understand reliably the first word in the sentence is overcome by trying
to understand any of the first three or four words. Then the expansion
of this word is in one direction at a time: first back to the beginning
of the sentence, and then on to the end. This dramatically reduces the
number of extension hypotheses that must be considered at one time.
Scoring of alternative hypotheses. The sound templates stored in the
system's database never exactly match segments of the acoustic signal,
so that the hypotheses about individual speech sounds must be "scored."
Briefly, the internal template representation of the proposed sound (pho-
neme, or allophone, or syllable) is compared with a segment of the
actual speech signal, and the similarities and differences are noted and a
number is calculated representing the likelihood that the proposed sound
exists at that point in the signal.
Above the level of individual speech sounds, the scoring of hypoth-
eses is handled differently by different systems. In HARPY, which
searches through its net of individually scored allophones, scoring can be
regarded as simple cumulation of the allophone scores along a path.
The score given to a hypothesized allophone depends on how closely it
matches the speech signal and also on the score of the preceding
allophone in the path. HARPY expands several paths at once, but the
scoring system guarantees that the highest scoring allophone in the net
is the last allophone in the best available interpretation of the sentence,
up to that point in the sentence.
In the other systems, where the knowledge sources remain separate,
each hypothesis can be evaluated by several of the knowledge sources.
A hypothesis that has the support of several knowledge sources is given
a score that is a linear combination of the individual scores contributed
by each knowledge source. The relative weights of the different KSs are
determined by trial and error in the HEARSAY systems. However, the
designers of HWIM put a great deal of effort into devloping a uniform
scoring policy for hypotheses.
Focus of attention. One important issue in the control of the
recognition process is determining which hypotheses about the contents
of the signal should be attended to at each instant. In the HEARSAY
and SDC systems, hypotheses are ordered by their score and the highest
scoring alternative is examined first. Thus, all hypotheses compete in
these systems.
In HWIM, hypotheses are not ordered by their scores alone, because
B Systems Architecture 341
it is recognized that all hypotheses should not necessarily compete. In
particular, two hypotheses about different parts of the utterance should
both be examined and a "bridge" formed between them if possible. An
ordering metric called the shortfall density was developed for HWIM
based on these considerations. (This was, in addition, an admissible
strategy — see Article V.C3.) In HARPY, if the score of an allophone falls
below a certain threshold, the entire path leading up to that allophone
is discarded. HARPY applies a heuristic technique called beam search
that involves expanding a small number of the highest scoring allo-
phones, the beam width (Article V.C2).
Backtracking. Typically in the speech understanding process, a sys-
tem will have an interpretation for some of the words in a sentence
that gets discontinued. For example, it may propose that the third
word in the sentence is elephant, only to learn from its syntactic
knowledge source that the third word in the sentence must be a verb.
In cases like this, the system must revise its interpretation; it must
backtrack to some point at which it was sure of its interpretation and
start again from there. The choice of control strategy, including the
scoring mechanism, beam width, and so on, can make backtracking
unnecessary, easy, or very expensive.
Summary
In many respects, the systems discussed here are quite similar. All
employ multiple sources of knowledge and apply constraining knowledge
about what utterances are likely to be made to help figure out what
was said. However, the systems reflect different design philosophies.
The HARPY system is noted for its use of a precompiled-network
knowledge representation; HWIM and HEARS AY-II use similar modular
knowledge sources. However, the systems differ in the control of speech
processing. Specifically, control strategies are regarded as a major vari-
able affecting the success or failure of HWIM, while in HEARSAY,
emphasis is put on the organization — the architecture — of the speech
system.
The differences in the final systems produced by the ARPA SUR
projects reflect a difference in emphasis in the research. At the outset
of the HWIM project, a technique called incremental simulation was
employed to explore the process of speech understanding. Individuals
simulated the not-yet-developed components of the system, and their
interactions were analyzed. In experiments with humans interpreting
speech spectrograms, a number of knowledge sources were identified, but,
in addition,
342 Understanding Spoken Language V
it was obvious that the spectrogram readers were making use of an
additional ability that was considerably less overt. By some cri-
teria, they were making decisions about which fragmentary hypoth-
eses to rule out, which ones to pursue further by trying to find
compatible interpretations of adjacent portions of the utterance,
and when to return to a previously rejected hypothesis in light of
new information. These decisions imply the existence of a control
strategy for speech understanding, and from the beginning, our speech
understanding system has been designed to facilitate the discovery
and exploration of such strategies. (Wolf and Woods, 1980, p. 317)
Control strategies certainly were not ignored by the HARPY or
HEARSAY designers. The emphasis, however, in both systems, has been
on knowledge representation and organization:
Much of . . . Harpy's success is the result of solving the difficult
technical problems associated with forcing all the diverse KSs into
a unified framework. (Lowerre and Reddy, 1980, p. 346)
The Hearsay II architecture is based on the view that the inher-
ently errorful nature of processing connected speech can be handled
only through the effective and efficient cooperation of multiple,
diverse sources of knowledge. Additionally, the experimental ap-
proach needed for system development requires the ability to add
and replace sources of knowledge and to explore different control
strategies. . . . The major focus of the design of the Hearsay II
system was the development of a framework for experimenting
with the representation of and cooperation among these diverse
sources of knowledge. (Erman and Lesser, 1980, p. 362)
Many of the issues of system design and language processing dis-
cussed here are also important in natural language understanding re-
search (see especially Article iV.Di). The remaining articles in this
chapter describe the main features of the HEARSAY, HARPY, HWIM,
and SRI/SDC systems in more detail.
C. THE ARPA SUR PROJECTS
CI. HEARSAY
The HEARSAY speech understanding system, developed as part of
the ARPA-funded speech understanding research project, has been one of
the most influential of all AI programs over the years. The importance
of HEARSAY lies not in how well the system understands speech, but
in the way that it is constructed — the idea of independent knowledge
sources cooperatively solving a problem by posting hypotheses on a
global blackboard data structure. This modular architecture — the knowl-
edge sources don't address each other directly — proved to allow great
flexibility as the system evolved and different combinations of knowledge
sources and control strategies were tried (see Article m.A for a discussion
of modularity in knowledge representation).
In problem domains characterized by a large search space, by the
need to combine different kinds of knowledge, and by ambiguous or
noisy data, HEARSAY'S architecture has proved especially well suited for
the design of a problem- solving system. It has been incorporated into
AI systems for solving diverse tasks in crystallography (Article vn.C3, in
Vol. n), signal interpretation (Nii and Feigenbaum, 1978), vision (Hanson
and Riseman, 1978b; Levine, 1978), and psychological modeling (Rumel-
hart, 1976; Hayes-Roth and Hayes-Roth, 1979). A considerable number
of articles about the HEARSAY architecture and its applications have
been written. In this short description of the system, we introduce the
technical terms used in the descriptions of it in the literature.
HEARS AY-I
HEARSAY went through two major stages in its development at
Carnegie-Mellon University. The first implementation of the system,
called HEARSAY-I, was already based on the idea of cooperating, inde-
pendent knowledge sources (Reddy et al., 1976). The three knowledge
sources in HEARSAY-I represented knowledge about —
1. Acoustics and phonetics (the features in the speech signal that
are evidence for each type of syllable), including ways the signal
may change because of different speakers and noise in the
environment;
344 Understanding Spoken Language V
2. The syntax of legal utterances; and
3. The semantics of the domain.
The domain was voice chess, which pits the computer against a person
(who makes his moves by speaking into a microphone). The fact that
only particular phrases make sense in the world of chess was utilized
to limit the searching required by the program. (As discussed in
Article V.B, the use of constraining knowledge about what utterances can
be expected is a central idea in all successful speech understanding re-
search.)
Consider the possible ways that knowledge about chess could be
used to help identify a spoken chess move. For example, in trying to
understand an incomplete utterance like "Pawn to King [missing word]"
prior knowledge about the form, or syntax, of spoken chess moves would
lead to the conclusion that the missing word is a small number cor-
responding to one of the rows of the chess board. Moreover, if knowing
the current positions of all the pieces and the rules for making moves
would further narrow the possibilities to one of the places a pawn could
move to in the King's file and if a person who knew something about
chess strategy saw that this was the first move of the game, he or she
could guess that it was very likely that this was one of the standard
opening moves — for example, "Pawn to King-four." HEARSAY-I was tied
directly into the legal-move generator of a chess-playing program for its
knowledge about likely moves.
Despite the obvious simplifications inherent in this domain, it is cer-
tainly possible that speech understanding systems that could handle
domains of equal complexity might find tremendous utility in specialized
areas, like air traffic control. At any rate, HEARSAY-I was the first
system to demonstrate recognition of non trivial, connected speech. This
system marked a radical departure in both knowledge representation and
control structure from previous AI systems. Top-down processing — the
use of expectations generated by syntactic and semantic knowledge
sources to help judge the relevance of words hypothesized by bottom-
end acoustic processing — proved to be a widely useful idea. In fact, it
is believed that had current acoustic processing techniques been available
in the early 1970s, HEARSAY-I might have met the 1976 ARPA speech
goals in the voice chess domain (Lea and Shoup, 1980). Many of the
concepts applied in this system were incorporated into the HEARSAY-II
and HARPY systems developed later at C.M.U.
CI
HEARSAY
345
Changes to Knowledge Sources and the Blackboard
The modifications that resulted in the final implementation of
HEARSAY included the development of many specialized knowledge
sources — 12 were used in the final version of the system. The black-
board was divided into a number of levels corresponding to a hier-
archical breakdown of speech into units such as segments, syllables,
words, and phrases (see Fig. Cl-1). Hypotheses about these sentence
units are posted at the appropriate level, along with a time frame that
indicates when the unit is hypothesized to occur in the utterance.
LEVELS
SEMAIMT
Phrase
Word— sequence
Word
•CONCAT
Sy I table
Segment
Parameter
— *
4
P 3l
*
...PARSE ~]
* * —
• .WORD-SEQ-CTL
t
-
.. -WORD-SEQ
j. • -WORD-CTL
.
k. 4
. . -now
•••VERIFY
4
... PON
4
>
•••SEG
n
Figure Cl-1.
Knowledge sources and blackboard configuration for
final version (C2) of HEARSAY-E (from Erman et al.,
1980, p. 366).
The horizontal lines in Figure Cl-1 represent the levels of the
blackboard. Each knowledge source looks at hypotheses posted on one
level, called its stimulus frame (indicated by * ), and in turn posts hy-
potheses on one or more levels, possibly the same one (the response
frame). For example, the PREDICT knowledge source illustrated in
Figure Cl-1 works completely within the phrase level on the blackboard,
predicting the words that might extend a phrase. In contrast, the
346 Understanding Spoken Language V
VERIFY knowledge source looks for acoustic evidence in the signal for
hypotheses at the word level.
The knowledge sources shown in Figure Cl-1 were those used in the
C2 configuration of HEARSAY-H, the version that was evaluated at the
end of the ARPA SUR project in 1976. The bottom-end processing was
accomplished by the acoustic segmentation (SEG) and word- spotting
(POM, MOW, and WORD-CTL) knowledge sources. The SEG knowledge
source abstracts a string of allophones from the acoustic signal (actually
the same allophones recognized by HARPY). These are assigned to syl-
lable classes by the POM knowledge source, and the syllable classes are
used by the MOW knowledge source to hypothesize words. (HEARSAY'S
lexicon is organized by syllable classes; each section of the lexicon
contains pronunciations of all the words that make up one syllable-
class.) The number of hypotheses that MOW makes is controlled by the
WORD-CTL knowledge source. The WIZARD procedure scores the
hypothesized words by comparing their acoustic characteristics to stored
representations of the pronunciations of the words. (This representation
is similar in structure to the integrated network used to represent all
knowledge in the HARPY system.)
The top-end processing in HEARSAY-H involved predicting, testing,
and concatenating multiple-word sequences, one or more of which will
eventually account for all of the words spoken. The WORD-SEQ and
WORD-SEQ-CTL knowledge sources extend those words recognized by
the bottom end into a small number of islands of one or more words,
using a data structure that contains all legal pairings of words. Islands
can be extended recursively in this manner — by hypothesizing extensions
of the newly hypothesized words. However, the syntax of islands longer
than three words must be checked, because the island was generated
from legal pairs of words and therefore the longer island may not be
syntactically correct. The PARSE knowledge source checks the syntax.
When a number of multiple-word islands are developed, the VERIFY
knowledge source tries to check each word against the segmented
acoustic signal in the context of its island. The PREDICT and CONCAT
knowledge sources are also used to extend hypothesized word sequences.
PREDICT generates all the words that can immediately precede or follow
a word sequence, while CONCAT tries to join word sequences together
to form longer ones. Finally, the STOP knowledge source is used to ter-
minate processing of the speech signal, either because the best inter-
pretation of the sentence has been found or because too much processing
time has been used. The SEMANT knowledge source generates ma-
chine instructions to carry out the spoken command (in the case of
HEARSAY-H, answering a question about a database on AI publications).
CI HEARSAY 347
Control in HEARSAY-II
The majority of the hypotheses contributed by knowledge sources at
any level do not find their way into the final interpretation of the sen-
tence. It is important that the system focus its limited computational
resources on expanding the best word hypotheses into word sequences
and that only the best of these get verified, expanded, and concatenated
into larger phrases. This is accomplished by scoring the response frame
of each knowledge source on the hypothesis — that is, estimating the ex-
pected result of operating on the hypothesis with the relevant knowl-
edge sources — and using a scheduling routine to expand high-scoring
hypotheses before lower scoring ones.
In theory, the blackboard framework permits autonomous and asyn-
chronous activation of knowledge sources, meaning that, at any time,
any knowledge source can post hypotheses on the blackboard. In prac-
tice, some constraints were placed on the order in which knowledge
sources were activated. In HEARSAY-I the bottom-end knowledge sources
propagated hypotheses to higher levels in an asynchronous order, but it
was found that these hypotheses were not accurate enough to be reliably
expanded. As a result, processing at the bottom end of HEARSAY-II is
strictly bottom-up: The SEG, POM, and MOW knowledge sources are
activated in that order, and the processing done by one is completed
before another is activated.
Some effort was made in HEARSAY to separate the operation of
knowledge sources from the control of their operation. Two knowledge
sources, WORD-CTL and WORD-SEQ-CTL, have been included specif-
ically to control the MOW and WORD-SEQ knowledge sources, respec-
tively.
Summary
The HEARSAY-II speech understanding system achieved the per-
formance goals of the five-year ARPA SUR program in the same
document-retrieval task used to evaluate HARPY. The system has also
been used in other conversational domains. More important is that its
architecture has been useful in the design of AI systems unrelated to
speech understanding. The design ideas of HEARSAY can be summa-
rized along the following lines:
Separate, independent, anonymous knowledge sources. Isolating the
knowledge along functional lines allows efficient modification of the
problem- solving structure of the program, by allowing a free substitution
of modular knowledge sources. Substitution is possible since each knowl-
edge source is not dependent on the methodology behind, or even the
existence of, any other.
348 Understanding Spoken Language V
Self-activating, asynchronous, parallel processes. The knowledge
sources can be viewed as individual knowledge-based programs that
respond to patterns in the blackboard database autonomously. No
temporal relationship between their execution is explicitly required
(although, as described above, this condition was sometimes relaxed in
the interest of efficiency). A parallel-processor version of portions of the
HEARSAY design has been built to exploit these features (see Fox,
in press; Lesser and Erman, in press).
Globally accessed database. The blackboard acts as a structure on
which the hypotheses and their support criteria can be stored. The data
structure is fixed for each information level on the blackboard. This
feature allows the creation of kernel-accessing routines, used in common
by each KS for manipulating the global store at each level. A snapshot
of the blackboard during HEARSAY execution reveals a partial analysis
of the utterance as a three-dimensional network consisting of the levels
of representation, time, and the possible alternatives — with the contex-
tual and structural support for each alternative explicitly marked in the
network.
Data-directed knowledge invocation. The knowledge sources react to
changes in the blackboard and criticize or create hypotheses wherever
practical. This procedure sets up a new pattern over the blackboard, to
which other KSs may be able to respond. This activity continues until
no knowledge source can respond or until the time and space limits of
the program are exceeded.
References
Erman et al. (1980) is an excellent introduction to HEARSAY. Sev-
eral articles in the recent book edited by Lea (1980b) are of interest,
especially Erman and Lesser (1980). Also of interest is C.M.U. Speech
Group (1977).
C2. HARPY
The HARPY speech understanding system was developed at
Carnegie-Mellon University after extensive evaluation of two earlier sys-
tems, HEARSAY-I (Article V.Cl) and DRAGON (Baker, 1975). HARPY's
most important characteristic is its use of a single, precompiled, network
knowledge structure (Lowerre and Reddy, 1980). The network contains
knowledge at all levels: acoustic, phonemic, lexical, syntactic, and seman-
tic. It stores acoustic representations of every possible pronunciation of
the words in all of the sentences that HARPY recognizes. The alter-
native sentences are represented as paths through the network, and each
node in the network is a template of allophones. The paths through the
network can be thought of as "sentence templates," much like the word
templates in isolated-word recognition (see Article v. A). HARPY's integra-
tion of diverse forms of knowledge into a single network representation
is its principal contribution.
The Knowledge Compiler
The program that actually builds the network is called the knowl-
edge compiler. Its task is to generate allophonic representations of all
possible sentences, given HARPY's syntax and lexicon. The first step in
this process is to substitute words from the lexicon into the grammar in
order to generate all possible sentences. For example, if the syntax was
defined by the rules:
Sentence <— <ss>
<ss> <— please help <m>
<— please show <m> <q>
<q> <— everything
< — someth i ng
<m> <— me
<— us
then the possible meaningful sentences are:
PI ease he I p me
Please help us
Please show me everything
Please show us everything
Please show me something
Please show us something
The sentences are put into a network structure (see Fig. C2-1) that
eliminates much of the redundancy involved in representing sentences
350 Understanding Spoken Language V
individually but has the effect of introducing grammatical sentences that
are not meaningful, namely, Please help me everything and Please help
me something. (See the discussion of transition-network representations
for grammars in Article IV. D2.)
help me everything
please Y Y [end of sentence]
\ A A ..
show us someth i ng
Figure C2-1. HARPY's sentence network.
The next step in compiling the network is to substitute phonetic
representations of words for the words themselves. In the event that
there is more than one pronunciation for a word, all pronunciations are
put into the network. For example, if two pronunciations of show are
known, then both would be alternative paths following the phonetic rep-
resentation of please. In this way, the network is expanded to contain
all possible pronunciations of all possible sentences.
The last step is to embed juncture phenomena in the network.
These are descriptions of the effect of context on the allophones at word
boundaries. For example, in please show, the z sound at the end of
please is sometimes dropped, although it is not dropped in please tell
For the 1976 version of HARPY, the juncture rules were hand-tailored
to the words in the lexicon. This was a very time-consuming process,
but the phonemic rules available at the time were not sufficiently
powerful or complete to capture the necessary range of juncture phe-
nomena.
This discussion of the knowledge compiler is highly abbreviated. In
fact, the process is considerably more complicated and consumes a great
deal of computer processing time: It required 13 hours of PDP-10 time
to generate a network of 15,000 allophonic templates for HARPY's 1,011-
word vocabulary.
Control in HARPY
HARPY utilizes a heuristic search method called beam search.
Briefly stated, it proceeds left to right through the network, matching
C2 HARPY 351
spoken sounds to allophonic states. The first sounds spoken are
matched to all of the starting states in the network (in the example
above, this would correspond to all possible pronunciations of please).
HARPY assigns scores to all of these, and it prunes away the paths that
do not score well (see the discussion of scoring in Article v.b). The few
that score best are kept as alternative interpretations of the sentence.
These constitute the "beam" of hypotheses that HARPY will examine.
It is an important characteristic of beam search that the paths included
in the beam are the best interpretations of the sentence that HARPY
has found. Thus, it need never backtrack, but need only extend the
paths in its beam as long as they retain sufficiently high scores.
Beam search is an approximate heuristic method that does not guar-
antee that the interpretation of a sentence is the best possible inter-
pretation. Nevertheless, in its trial domains of chess and document
retrieval, HARPY was the most efficient and accurate performer of all of
the ARPA SUR systems (see Article v. A).
Summary
A case study of two dissimilar early speech understanding systems,
DRAGON and HEARSAY-I, led to a first in system design: a system
that met the 1976 goals of the speech understanding research com-
munity. This objective was accomplished by combining DRAGON's
dynamic programming techniques with useful heuristics for search, such
as beam search. The main ideas incorporated into HARPY are the
following.
Precompiled network. HARPY creates a large network comprised of
all phonetic "spellings" for each syntactic path in the grammar. This
network includes word junction phenomena, which are the adjustments
made in the pronunciations of words due to the words preceding and
following them in continuous speech.
Beam search. The best paths in the recognition network are se-
lected for further evaluation. This pruning is determined by the compar-
ison of the likelihood of success with a variable threshold. This strategy
eliminates evaluation of possible sentences that start correctly but
contain one or more incorrect words. HARPY keeps about 1% of the
states at each step in the evaluation of the network. Experiments
showed that neither a fixed number nor a fixed fraction worked well for
this process. Finally, a fixed range of likelihood from the best state
was settled upon (Newell, 1978).
Processing segmented speech. The decision to use a flexible division
of the acoustic signal according to acoustic events, rather than according
352 Understanding Spoken Language V
to a fixed time interval, allows for a single acoustic template per phone.
However, since the network is composed of a sequential phonetic rep-
resentation, the system is very sensitive to missing or poorly labeled
segments.
Heuristics to limit search time and size of network. The compu-
tation time of the program is drastically reduced by the compilation of
the speech recognition knowledge into the network representation. The
network is condensed by removing redundant states or by recognizing
common groupings of states. The number of states is slightly increased,
but the number of connections (i.e., pointers) can be markedly de-
creased, by introducing special states at common intersections in the
network.
The extension of HARPY's design to handle much larger vocabularies
must be examined in future research work, since the explicit creation of
the network of possibilities can have a large memory and processing
requirement. Also, the design of the current system cannot easily ac-
commodate the pragmatics of the utterance, which other systems use to
constrain search. HARPY's algorithm is also relatively sensitive to
missing acoustical segments and missing words.
References
See Lowerre and Reddy (1980). Also of interest is C.M.U. Speech
Group (1977).
C3. HWM
The HWIM ("Hear What I Mean") speech understanding system was
developed between 1974 and 1976 at BBN (Wolf and Woods, 1980).
HWIM was the successor to BBN's earlier SPEECHLIS speech under-
standing system (Woods, 1975a) and to the BBN work on natural lan-
guage understanding (see Article IV.F3 on the LUNAR system).
The BBN speech understanding system has evolved within a gen-
eral framework for viewing perceptual processes. Central to this
framework is an entity called a theory. A theory represents a
particular hypothesis about some or all of the sensory stimuli that
are present. Perception is viewed as the process of forming a
believable, coherent theory that can account for all of the stimuli.
In our framework, this is achieved by successive refinement and
extension of partial theories until a best complete theory is found.
(Wolf and Woods, 1980, p. 318)
In the speech setting, a typical theory is a set of compatible word
hypotheses, with possible gaps between words, and partial syntactic and
semantic interpretations.
HWIM was used to answer questions in the role of a travel budget
manager, using a database of facts about trips and expenses. This was
the most demanding task in any of the ARPA SUR projects, and the
resulting system shows concern with some issues of language and of
systems design that were not considered by the other SUR projects.
System Organization
In the HWIM system, all processing passes through its control strat-
egy component; in fact, this component uses the knowledge sources as
subroutines. This is in contrast to the HEARSAY model, in which
knowledge sources are autonomous and don't call each other. (Of course,
knowledge sources in HEARSAY can attempt to control processing by
what they post on the blackboard; see Article V.Cl.) HWIM's organi-
zation permits more direct experimentation with control strategies —
manipulating, for example, how many word islands are generated, the
direction in which they are expanded, and the interactions of system
components (see Article V.b).
The lower level system components of HWIM (see Fig. C3-1) are
responsible for digitizing the speech signal (RTIME) and generating a
parametric representation of it (PSA), as well as segmenting and labeling
354
Understanding Spoken Language
the parametric representation (APR) and lexical retrieval. The APR
component produces a segmented lattice by segmenting the output of
the PSA component at phoneme boundaries, then generating one or
more possible phoneme labels for each segment, and finally ranking the
alternative interpretations of each segment. The final segmented lattice
is a graph that is read from left to right, and is divided into time
segments each of which has one or more ranked phonetic interpretations.
(See related discussion of charts in Article IV.D3.) This lattice is matched
against a dictionary of word pronunciations by the lexical retrieval com-
ponent, which generates word hypotheses.
TRIP
TALKER
.(LISTENER)
Di scourse
Expectations
Semanti c
Interpretations
Control Strategy
Word
Hypotheses
Word
Matches
Word
Hypotheses
Lex i ca I
Retri eva I
Syntactic
Hypotheses
Scores
Syntactic
Pred i ctions
Syntax
Veri f i cation
Segment
Lattice
APR
TRIP
Parameters
PSA
RTINE
(Speech Si gna I )
Figure C3-1. The structure of HWIM (after Wolf and Woods,
1980, p. 321).
The structure of the dictionary is interesting for several reasons.
First, it is a network with phonemes for nodes. Nodes can be shared
by different words; for example, list and like share the j\j phoneme.
Another important characteristic of the dictionary is its implementation
of juncture rules. The words like, list, and some are all included in the
C3 HWTM 355
network represented in Figure C3-2, but, in addition, the phrase list
some is represented as it is actually pronounced: "lissum."
00
.(IY) >(K)
_(IH) >(S) >(T)
I
(S) >(AH)— (M)
Figure C3-2. Network of phonemes.
The dictionary is generated semiautomatically by applying phono-
logical rules to the base set of words. The initial vocabulary of 1,138
words is increased to a list of 1,363 possible pronunciations by ac-
counting for inflection patterns, then to 3,371 by the application of
within-word phonological rules, and then to 8,642 pronunciations by the
application of across- word juncture rules.
The higher levels of the HWTM system include word verification, syn-
tax, and the TRIP semantic component (Fig. C3-1). The verification
component takes a word pronunciation and the available context and
generates a synthesized acoustic signal for words that are hypothesized
by other knowledge sources. The actual acoustic signal is compared to
this synthesized signal and the hypothesis is scored. This method, which
was found to be rather expensive computationally, allows an independent
verification of hypothesized words, since all other methods use the same
acoustic source as a basis for making conclusions.
The syntactic component is used to judge whether proposed word-
sequences are grammatical or not and to predict grammatical extensions
of existing word-sequences. The parser used by this component is built
around an ATN grammar (Article IV.D2). It is a performance grammar;
that is, the parts of speech in the grammar are tailored specifically to
the trip-planning task domain, rather than being the usual parts of
speech: noun, verb, adjective, and so on. (See related discussion of
semantic grammars in Article DC.C3, in Vol. n.) The TRIP component
uses a semantic network representation of all the facts and relations
relevant to this task domain. It supplies top-down discourse expec-
tations, interprets the sentences passed to it, and carries out the spoken
instructions when they are finally interpreted.
Control Strategy
HWTM was designed to have a flexible control structure. However,
there is a basic form common to all control strategies in the system
356 Understanding Spoken Language V
that involves bottom-up word theories that are extended top-down by
the syntactic component until an entire sentence is achieved. More spe-
cifically, the following algorithm is followed:
1. Form the segmented lattice. Generate a set of words that match
the lattice well and rate these seed matches for their goodness
of fit to the segmented lattice. Put the seed matches on an
event queue ordered by their ratings.
2. Take the event at the top of the queue and send it to the
parser, which will reject it, find that it constitutes a whole
sentence, or propose words or categories of words that can ex-
tend the event.
3. Use the lexical retrieval component to predict between- word con-
text effects for each of the proposals made by the parser. Rate
the proposals and put them on the event list.
4. Before selecting the highest rating event from the event list for
further expansion, some additional processing is needed. One
task is to check the event list for islands of words that have
proposed the same word as an extension. If the proposed word
forms a bridge between the islands, then a collision event that
includes both islands is added to the event list. Another
process is used to check for the possibility that a proposed
extension exhausts the words in the sentence. This is called an
end event
5. Unless the resources allowed to HWTM for this sentence have
been exhausted, return to (2).
The HWTM system allows for many variations on this control strat-
egy. In particular, some search strategies were designed to be admis-
sible, which means that any solution they find is guaranteed to be the
best possible solution (see Article n.C3b). In general, admissible strat-
egies require more processing time than approximate methods that do
not guarantee the best possible solution (e.g., the heuristic beam search
used in HARPY). One powerful admissible strategy, a middle-out
control strategy using the shortfall density metric for scoring alternative
theories, was discovered to be not much more expensive than approx-
imate methods, although it was still not used in the final tests of HWTM
because of time limitations (see Wolf and Woods, 1980, p. 327).
A hybrid strategy for focus of attention is used in HWTM. Rather
than processing words in strictly left-to-right order (as in HARPY) or by
expanding islands wherever they are found (as in HEARSAY), HWIM was
most successful when it was configured to find an island in the first
part of the sentence, expand it backwards to the beginning of the sen-
tence, and then continue to the end of the sentence. This method
C3 HWIM 357
overcame the problem of identifying incorrectly the first word in a left-
to-right strategy and the combinatorial problems of following alternative
extensions of multiple islands (see Article v.b).
In most speech systems, it is assumed that the order in which hy-
potheses are expanded is a function of their scores. High-scoring hypoth-
eses are expanded before lower scoring ones. In HWIM, much effort
went into designing scoring and scheduling policies for theories. One
result of this was that the intuitive scheduling algorithm mentioned
above is not optimal in HWIM. Used instead is the shortfall density
strategy, which involves the difference between a theory's score and its
ideal score divided by the length of the theory in segments.
References
See Wolf and Woods (1980) and the earlier report by the BBN
speech group (Woods et al., 1976).
C4. The SRI/SDC Speech Systems
One of the ARPA speech understanding projects was to be under-
taken jointly by SRI International and Systems Development Corpora-
tion (SDC). The low-end portions of the system — signal-processing,
acoustics, and phonetics — were developed at SDC from earlier work done
there on speech recognition systems. SRI was to provide the top-end
of the system — parsing, syntax, semantics, pragmatics, and discourse-
analysis. Unfortunately, the two components were never actually merged.
The SDC research stressed the bottom-end processing involved in speech
understanding — encoding and analysis of the speech waveform (although
a top-end processor was eventually developed to make testing and
evaluation possible). Several interesting aspects of the SDC system are
described in Barnett et al. (1980).
The SRI speech understanding research extended earlier work in
natural language understanding and knowledge representation. The top-
end system was developed and tested with simulated output from the
SDC bottom-end. The important features of the SRI speech understand-
ing research included concern with the nature of real man-machine dis-
course, a language definition system for specifying the input language to
be understood, techniques for focusing the system's attention on certain
aspects of the dialogue, top-down process control stressing phrase-level
hypothesizing, knowledge representation using partitioned semantic
networks, and experimental evaluation of system design parameters.
Discourse
The SRI research stressed understanding spoken utterances in a
"natural" environment — a situation that might realistically involve a per-
son talking to a computer-based assistant. In particular, the two tasks
explored in the SRI work were an information retrieval task and an
assembly task (in which the computer acted as a consultant in a
maintainence work- station setting). The novelty of the SRI approach to
understanding dialogues in these domains was the concern with the
nature of the actual discourse: In realistic conversations focused on a
particular goal, partial utterances (words and phrases) and implicit
references to previous statements are common and present special prob-
lems for the understanding system.
For example, the two questions What is the depth of the Ethan
Allen? and What is its speed? both refer to the ship Ethan Allen. In
order to disambiguate such anaphoric references (pronoun reference to
C4 The SRI/SDC Speech Systems 359
previous phrases), the system must use information gleaned from pre-
vious utterances. Similarly, elliptic references require filling out incom-
plete phrases using terms already mentioned. For example, the utter-
ances What is the depth of the Ethan Allen? . . . The Lafayette? seek the
depth of both ships. Discourse analysis is also used to predict what
kinds of questions might be expected in subsequent utterances.
Language Definition System
The complete specification of the portion of the English language to
be accepted by the system is provided in the language definition system.
The lexicon is divided along semantic boundaries into categories for
ships, countries, and so on (a semantic or performance grammar; see
Robinson, 1975). The language definition contains rules for combining
words and phrases into larger phrases. Associated with each phrase-rule
are procedures for calculating attributes of member words (like mood,
number, meaning representation, and acoustic form) and a procedure for
evaluating the acceptability of the phrase hypothesis in context. These
rules also specify which attributes can be assigned to the new phrase;
for example, they determine the focus of the phrase or relate the se-
mantics of a particular word to the whole phrase. Prosodic information
is also included, such as the expected change in pitch at the end of an
interrogative utterance.
Process Control and Focus of Attention
Perhaps because it never really had a bottom end to work with, the
SRI system stressed top-down processing in its control strategy. Top-
down control allows the semantic information to guide the search
through potentially ambiguous acoustic information. The system is con-
trolled from the parsing mechanism that tries to form phrases to match
the acoustic signal. The parser uses the language definition system to
integrate all sources of knowledge in a coherent way. Thus, the main
program representation is at the phrase level, a relatively large linguistic
unit, with the meaning and ramifications (e.g., likelihood) of each phrase
recorded. Semantic nets encode the relations between concepts, both in
the static knowledge base and in the representations of the contents of
previous utterances. Pragmatic information is used to predict likely
utterances based on previous utterances.
The main data structure for the parser is the parse net, which rep-
resents phrases generated by the language definition system. The parse
net is made up of nodes representing the phrases that have been
generated and the predictions to be examined (usually against acoustic
360 Understanding Spoken Language V
data). Predictions are of the form: "Look for a word of category X at
location Y in the utterance." The nodes are linked by connections
between unverified phrases and the predictions they spawn. The parse
net also contains attribute information such as the expected start and
stop time of the candidate phrases. False steps are avoided in the
parsing process by storing past mistakes, but the generated mistaken
phrases can be used again if they are recognized as appropriate in
another context.
A task queue holds a selection of operations waiting to be performed
to expand the parse net (e.g., requests for checking the acoustic infor-
mation for a specific word or phrase). Tasks in the queue are scheduled
to run according to priorities determined by the language definition
system — a best-first approach. To help coordinate the choice of which
phrases to expand next, a particular part of the parse net is singled out
as being the focus of attention and this decision biases future decisions
until another area looks more promising. By considering the topics of
most recent interest, focusing attention not only can affect the amount
of processing needed but also can be used to disambiguate utterances
with multiple meanings. The parse is completed when the task queue is
empty or when limits on resources are exceeded.
Knowledge Representation
The system's knowledge representation scheme was based on the
partitioned semantic-net formalism (see Article IV.F7 on SRI's LIFER
system). The scheme was used both to encode the concepts of the sub-
ject domain and to represent the meaning of previous utterances. The
mechanism of partitioning the network into spaces is used to handle
quantification, to distinguish real and hypothetical worlds, and to dis-
tinguish different levels of abstractions. The semantic processor, for ex-
ample, contains a series of functions that map between the surface and
the deep case structures; these functions facilitate suggestions as to
which surface features to examine, based on semantic knowledge. There
are also functions that generate text (e.g., answers) corresponding to a
given semantic net representation of the intended meaning (see Article
rv.E).
Performance Evaluation
The SRI research group made a serious effort to evaluate system-
atically their speech understanding program. In particular, they attempt-
ed to determine the effect on the system's performance of changes in
several design parameters — for example, whether to consider the current
C4 The SRI/SDC Speech Systems 361
context when setting priorities, whether to match all possible words to
pick the best versus taking the first one above a certain criterion,
whether to process out from known points in the signal (island driving)
versus strictly left-to-right activity, and whether to identify and use a
focus of attention in assigning processing priorities (see Paxton, 1976).
Summary
The SRI system stressed the natural language understanding aspects
of the speech recognition problem. Detailed symbolic models of the do-
main of discourse were available for assisting in the interpretation and
response phases of the program.
References
See the summary article by Walker (1980) or the extended dis-
cussion of the system in the book edited by Walker (1978).
Bibliography
List of Abbreviations
Journals, Technical Reports, and Conference Proceedings
AAAI Conferences of the American Association for AI
ACM Journal of the Association for Computing Machinery
AFIPS American Federation of Information Processing Societies
AISB European Society for AI and the Simulation of Behavior
CACM Communications of the Association for Computing Machinery
EEEE Institute for Electrical and Electronic Engineers
IFIPS International Federation of Information Processing Societies
IJCAI International Joint Conferences on AI
SIGART Newsletter of the ACM Special Interest Group on AI
TINLAP Workshops on Theoretical Issues in Natural Language Processing
Abelson, R. 1973. The structure of belief systems. In Schank and Colby,
287-339.
Adelson-Velskiy, G. M., Arlazarov, V. L., and Donskoy, M. V. 1975. Some
methods of controlling the tree search in chess programs. Artificial Intel-
ligence 6:361-371.
Aho, A. V., Hopcroft, J. E., and Ullman, J. D. 1974. The design and analysis
of computer algorithms. Reading, Mass.: Addison-Wesley.
Aikins, J. S. 1979. Prototypes and production rules: An approach to
knowledge representation for hypothesis formation. IJCAI 6, 1-3.
Akmajian, A., and Heny, F. 1975. An introduction to the principles of trans-
formational syntax. Cambridge, Mass.: MIT Press.
Allen, J. 1978. Anatomy of LISP. New York: McGraw-Hill.
Amarel, S. 1968. On representations of problems of reasoning about actions.
In D. Michie (Ed.), Machine intelligence S. New York: American Elsevier,
131-171.
Anderson, J. 1976. Language, memory, and thought. Hillsdale, N.J.: Lawrence
Erlbaum.
Anderson, J., and Bower, G. 1973. Human associative memory. Washington,
D.C.: Winston.
Anderson, J., Kline, P., and Beasley, C. 1979. A general learning theory
and its application to schema abstraction. In G. H. Bower (Ed.), The
psychology of learning and motivation (Vol. 13). New York: Academic Press,
277-318.
Appelt, D. 1980. Problem solving applied to natural language generation.
Proceedings of the Association of Computational Linguistics, Philadelphia, 59-63.
ARPA SUR Steering Committee. 1977. Speech understanding systems: Report
of a steering committee. Artificial Intelligence 9:307-316.
Bahl, L. R., Baker, J. K., Cohen, P. S., Cole, A. G., Jelinek, F., Lewis,
B. L., and Mercer, R. L. 1978. Automatic recognition of continuously
spoken sentences from a finite state grammar. Proceedings of the 1978 IEEE
International Conference on Acoustics, Speech, and Signal Processing, Tulsa,
Oklahoma, 418-421.
Baker, J. K. 1975. The DRAGON system: An overview. IEEE Transactions
on Acoustics, Speech, and Signal Processing ASSP-23(1), 24-29.
Baker, R. 1973. A spatially-oriented information processor which simulates
the motions of rigid objects. Artificial Intelligence 4:29-40.
366 Bibliography
Bar-Hillel, Y. 1960. The present status of automatic translation of lan-
guages. In F. L. Alt (Ed.), Advances in computers (Vol. 1). New York:
Academic Press, 91-163.
Bar-Hillel, Y. 1964. Language and information. Reading, Mass.: Addison-
Wesley.
Barnett, J., Bernstein, M., Gillman, R., and Kameny, I. 1980. The SDC
speech understanding system. In Lea, Trends, 272-293.
Barrow, H. G., Boiles, R. C, Garvey, T. D., Kremers, J. H., Lantz, K.,
Tenenbaum, J. M., and Wolf, H. C. 1977. Interactive aids for car-
tography and photo interpretation. In L. S. Baumann (Ed.), Image under-
standing: Proceedings of a workshop held at Palo Alto, California, October
20-21, 1977. Rep. No. SAI-78-656-WA, Science Applications, Inc., Sunny-
vale, Calif., 111-127.
Barstow, D. R. 1979. Knowledge-based program construction. New York: Amer-
ican Elsevier.
Bartlett, F. C. 1932. Remembering: A study in experimental and social psychol-
ogy. Cambridge, England: Cambridge University Press. Reprinted in 1977.
Baudet, G. M. 1978. On the branching factor of the alpha-beta pruning
algorithm. Artificial Intelligence 10:173-199.
Berliner, H. J. 1973. Some necessary conditions for a master chess program.
IJCAI S, 77-85.
Berliner, H. J. 1974. Chess as problem solving: The development of a tac-
tics analyzer. Dept. of Computer Science, Carnegie-Mellon University.
Berliner, H. J. 1977a. Experiences in evaluation with BKG — A program that
plays backgammon. IJCAI 5, 428-433.
Berliner, H. J. 1977b. A representation and some mechanisms for a problem-
solving chess program. In M. R. B. Clarke (Ed.), Advances in computer
chess 1. Edinburgh: Edinburgh University Press, 7-29.
Berliner, H. J. 1977c. Search and knowledge. IJCAI 5, 975-979.
Berliner, H. J. 1978a. The B* search algorithm: A best-first proof proce-
dure. Rep. No. CMU-CS-78-112, Dept. of Computer Science, Carnegie-
Mellon University.
Berliner, H. J. 1978b. A chronology of computer chess and its literature.
Artificial Intelligence 10:201-214.
Bernstein, A., Arbuckle, T., Roberts, M. de V., and Belsky, M. A. 1959. A
chess playing program for the IBM 704. In Proceedings of the Western Joint
Computer Conference, 1958. New York: American Institute of Electrical
Engineers, 157-159.
Bernstein, M. I. 1977. Knowledge-based systems: A tutorial. Rep. No. TM-
(L)-5903/000/00A, Systems Development Corporation, Santa Monica, Calif.
Bobrow, D. G. 1968. Natural language input for a computer problem-
solving system. In Minsky, 146-226.
Bibliography 367
Bobrow, D. G. 1975. Dimensions of representation. In Bobrow and Collins,
1-34.
Bobrow, D. G., and Collins, A. (Eds.). 1975. Representation and understanding:
Studies in cognitive science. New York: Academic Press.
Bobrow, D. G., and Fraser, B. 1969. An augmented state transition net-
work analysis procedure. IJCAI 1, 557-567.
Bobrow, D. G., Kaplan, R. M., Kay, M., Norman, D. A., Thompson, H., and
Winograd, T. 1977. GUS, a frame-driven dialog system. Artificial Intel-
ligence 8:155-173.
Bobrow, D. G., and Winograd, T. 1977a. Experience with KRL-0, one cycle
of a knowledge representation language. IJCAI 5, 213-222.
Bobrow, D. G., and Winograd, T. 1977b. An overview of KRL, a knowledge
representation language. Cognitive Science 1:3-46.
Boden, M. 1977. Artificial intelligence and natural man. New York: Basic Books.
Booth, A. D. (Ed.). 1967. Machine translation. Amsterdam: North-Holland.
Bott, M. F. 1970. Computational linguistics. In J. Lyons (Ed.), New hori-
zons in linguistics. Harmondsworth, England: Penguin Books, 215-228.
Brachman, R. J. 1978. A structural paradigm for representing knowledge.
Rep. No. 3605, Bolt Beranek and Newman, Inc., Cambridge, Mass.
Brachman, R. J. 1979. What's in a concept: Structural foundations for
semantic networks. In Findler, 3-50.
Brachman, R. J., and Smith, B. C. 1980. SIGART Newsletter 70 (special
issue on knowledge representation).
Bratko, L, Kopec, D., and Michie, D. 1978. Pattern-based representation of
chess end-game knowledge. Computer J. 21:149-153.
Bresnan, J. 1978. A realistic transformational grammar. In M. Halle,
J. Bresnan, and G. A. Miller (Eds.), Linguistic theory and psychological reality.
Cambridge, Mass.: MIT Press, 1-59.
Brooks, R. 1977. Production systems as control structures for programming
languages. SIGART Newsletter 63:33-37.
Bruce, B. 1975. Case systems for natural language. Artificial Intelligence
6:327-360.
Bullwinkle, C. 1977. Levels of complexity in discourse for anaphora dis-
ambiguation and speech act interpretation. IJCAI 5, 43-49.
Burton, R. R. 1976. Semantic grammar: An engineering technique for con-
structing natural language understanding systems. BBN Rep. No. 3453,
Bolt Beranek and Newman, Inc., Cambridge, Mass.
Burton, R. R., and Brown, J. S. 1979. Toward a natural-language capa-
bility for computer-assisted instruction. In H. O'Neil (Ed.), Procedures for
instructional systems development. New York: Academic Press, 273-313.
368 Bibliography
Carbonell, J. R. 1970. AI in CAI: An artificial intelligence approach to
computer-assisted instruction. IEEE Transactions on Man-Machine Systems
MMS-ll:190-202.
Carbonell, J. R., and Collins, A. M. 1974. Natural semantics in AI. IJCAI
S, 344-351.
Chafe, W. L. 1972. Discourse structure and human knowledge. In R. O.
Freedle and J. B. Carroll (Eds.), Language comprehension and the acquisition of
knowledge. Washington, D.C.: Winston, 41-69.
Chang, C. L., and Slagle, J. R. 1971. An admissible and optimal algorithm
for searching AND/OR graphs. Artificial Intelligence 2:117-128.
Charness, N. 1977. Human chess skill. In Frey, 34-53.
Charniak, E. 1972. Toward a model of children's story comprehension.
Rep. No. TR-266, AI Laboratory, Massachusetts Institute of Technology.
Charniak, E. 1975. A brief on case. Rep. No. 22, Institute for Semantic
and Cognitive Studies, Castagnola, Switzerland.
Charniak, E. 1978. With spoon in hand this must be the Eating frame.
TINLAP-2, 187-193.
Charniak, E., Riesbeck, C. K., and McDermott, D. V. 1980. Artificial intel-
ligence programming. Hillsdale, N.J.: Lawrence Erlbaum.
Charniak, E., and Wilks, Y. 1976. Computational semantics: An introduction
to artificial intelligence and natural language comprehension. Amsterdam:
North-Holland.
Chomsky, N. 1956. Three models for the description of language. IRE
Transactions on Information Theory 2:113-124. (Also in R. D. Luce, R. Bush,
and E. Galanter, Eds., Readings in mathematical psychology. New York:
Wiley, 1965, 105-124.)
Chomsky, N. 1957. Syntactic structures. The Hague: Mouton.
Chomsky, N. 1959. On certain formal properties of grammars. Information and
Control 2:137-167. (Also in R. D. Luce, R. Bush, and E. Galanter, Eds.,
Readings in mathematical psychology. New York: Wiley, 1965, 125-155.)
Chomsky, N. 1965. Aspects of the theory of syntax. Cambridge, Mass.: MIT
Press.
Chomsky, N. 1963. Formal properties of grammars. In R. D. Luce, R. Bush,
and E. Galanter (Eds.), Handbook of mathematical psychology (Vol. 2). New
York: Wiley, 323-418.
Chomsky, N. 1971. Deep structure, surface structure, and semantic inter-
pretation. In Steinberg and Jakobovits, 183-216.
Clippinger, J. H., Jr. 1975. Speaking with many tongues: Some problems
in modeling speakers of actual discourse. TINLAP-1, 78-83.
C.M.U. Speech Group. 1977. Speech understanding systems: Summary of
results of the five-year research effort at Carnegie-Mellon University.
Computer Science Dept. Tech. Report, Carnegie-Mellon University.
Bibliography 369
Codd, E. F. 1974. Seven steps to rendezvous with the casual user. In J. W.
Klimbie and K. L. Koffeman (Eds.), Data base management Amsterdam:
North-Holland, 179-200.
Cohen, P. R. 1978. On knowing what to say: Planning speech acts.
Tech. Rep. 118, Dept. of Computer Science, University of Toronto.
Cohen, P. R., and Perrault, C. R. 1979. Elements of a plan-based theory
of speech acts. Cognitive Science 3:177-212.
Colby, K., Weber, S., and Hilf, F. 1971. Artificial paranoia. Artificial Intel-
ligence 2:1-25.
Cole, R. A. 1979. Navigating the slippery stream of speech. Psychology
Today (12):11, 77-87.
COLING76. 1976. Preprints of the 6th International Conference on Computational
Linguistics, Ottawa, Ontario, Canada, June 1976.
Conway, M. E. 1963. Design of a separable transition-diagram compiler.
CACM 6:396-408.
Culicover, P. W., Wasow, T., and Akmajian, A. 1977. Formal syntax. New
York: Academic Press.
Davies, D. J. M. 1972. POPLER: A POP-2 Planner. Rep. No. MIP-89,
School of AI, University of Edinburgh.
Davis, R. In press. The application of meta-level knowledge to the con-
struction, maintenance, and use of large knowledge bases. In Davis and
Lenat.
Davis, R., and Buchanan, B. G. 1977. Meta-level knowledge: Overview and
applications. IJCAI 5, 920-927.
Davis, R., Buchanan, B. G., and Shortliffe, E. H. 1977. Production rules as
a representation for a knowledge-based consultation system. Artificial Intel-
ligence 8:15-45.
Davis, R., and King, J. J. 1977. An overview of production systems. In
E. Elcock and D. Michie (Eds.), Machine intelligence 8. Chichester, England:
Ellis Horwood, 300-332.
Davis, R., and Lenat, D. B. In press. Knowledge-based systems in artificial
intelligence. New York: McGraw-Hill.
de Champeaux, D., and Sint, L. 1977. An improved bi-directional heuristic
search algorithm. J. ACM 24:177-191.
Dijkstra, E. W. 1959. A note on two problems in connection with graphs.
Numerische Mathematik 1:269-271.
Doran, J. E. 1967. An approach to automatic problem- solving. In N. L.
Collins and D. Michie (Eds.), Machine intelligence 1. New York: American
Elsevier, 105-123.
Doran, J. E., and Michie, D. 1966. Experiments with the graph traverser
program. Proceedings of the Royal Society of London (Series A) 294:235-259.
Dreyfus, H. L. 1972. What computers can't do. New York: Harper and Row.
370 Bibliography
Duda, R. O., Hart, P. E., Nilsson, N. J., and Sutherland, G. L. 1978. Seman-
tic network representations in rule-based inference systems. In Waterman
and Hayes-Roth, 203-221.
Eastman, C. M. 1970. Representations for space planning. CACM 13:242-250.
Eastman, C. M. 1973. Automated space planning. Artificial Intelligence 4:41-
64.
Elcock, E. W. 1977. Representation of knowledge in a geometry machine.
In E. W. Elcock and D. Michie (Eds.), Machine intelligence 8. New York:
Wiley, 11-29.
Erman, L. D., Fennell, R. D., Lesser, V. R., and Reddy, D. R. 1976.
System organizations for speech understanding: Implications of network and
multiprocessor computer architectures for AI. IEEE Transactions on Com-
puters C-25(4):414-421.
Erman, L. D., Hayes-Roth, F., Lesser, V. R., and Reddy, D. R. 1980. The
HEARSAY-n speech understanding system: Integrating knowledge to resolve
uncertainty. Computing Surveys 12(2):213-253.
Erman, L. D., and Lesser, V. R. 1975. A multi-level organization for prob-
lem solving using many diverse, cooperating sources of knowledge. IJCAI 4,
483-490.
Erman, L. D., and Lesser, V. R. 1980. The HEARSAY-H speech under-
standing system: A tutorial. In Lea, Trends, 361-381.
Ernst, G., and Newell, A. 1969. GPS: A case study in generality and problem
solving. New York: Academic Press.
Fahlman, S. E. 1974. A planning system for robot construction tasks. Arti-
ficial Intelligence 5:1-49.
Fahlman, S. E. 1975. Symbol-mapping and frames. SIGART Newsletter 53:7-8.
Feigenbaum, E. A. 1969. Artificial intelligence: Themes in the second decade.
In A. J. H. Morrell (Ed.), Information processing 68: Proceedings IFIP Congress
1968 (Vol. 2). Amsterdam: North-Holland, 1008-1024.
Feigenbaum, E. A. 1977. The art of artificial intelligence: Themes and case
studies of knowledge engineering. IJCAI 5, 1014-1029.
Feigenbaum, E. A., and Feldman, J. (Eds.). 1963. Computers and thought.
New York: McGraw-Hill.
Fikes, R. E., Hart, P., and Nilsson, N. J. 1972. Learning and executing
generalized robot plans. Artificial Intelligence 3:251-288.
Fikes, R. E., and Hendrix, G. 1977. A Network-based knowledge repre-
sentation and its natural deduction system. IJCAI 5, 235-246.
Fikes, R. E., and Nilsson, N. J. 1971. STRIPS: A new approach to the
application of theorem proving to problem solving. Artificial Intelligence
2:189-208.
Fillmore, C. 1968. The case for case. In E. Bach and R. Harms (Eds.),
Universals in linguistic theory. New York: Holt, Rinehart, and Winston,
1-88.
Bibliography 371
Fillmore, C. 1971a. Some problems for case grammar. In R. J. O'Brien
(Ed.), Report of the twenty-second annual round table meeting on linguistics and
language studies. (Monograph Series on Languages and Linguistics, No. 24.)
Washington, D.C.: Georgetown University Press, 35-56.
Fillmore, C. 1971b. Types of lexical information. In Steinberg and Jakob-
ovits, 370-392.
Filman, R. E. 1979. The interaction of observation and inference in a
formal representation system. IJCAI 6, 269-274.
Filman, R. E., and Weyhrauch, R. W. 1976. An FOL primer. Memo 288,
AI Laboratory, Stanford University.
Findler, N. V. (Ed.). 1979. Associative networks: The representation and use of
knowledge by computers. New York: Academic Press.
Flanagan, J., Levinson, S., Rabiner, L., and Rosenberg, A. 1980. Tech-
niques for expanding the capabilities of practical speech recognizers. In
Lea, Trends, 425-444.
Flavell, J. H. 1977. Cognitive development. Englewood Cliffs, N.J.: Prentice-
Hall.
Flavell, J. H. 1979. Metacognition and cognitive monitoring: A new area for
cognitive-developmental inquiry. American Psychologist 34:906-911.
Forgy, C, and McDermott, J. 1977. OPS, a domain-independent production
system language. IJCAI 5, 933-939.
Fox, M. In press. An organizational view of distributed systems. IEEE Trans-
actions on Systems, Man, and Cybernetics.
Frey, P. W. (Ed.). 1977. Chess skill in man and machine. New York: Springer-
Verlag.
Friedman, J. 1969. Directed random generation of sentences. CACM 12:40-46.
Friedman, J. 1971. A computer model of transformational grammar. New York:
American Elsevier.
Fuller, S. H., Gaschnig, J. G., and Gillogly, J. J. 1973. Analysis of the
alpha-beta pruning algorithm. Dept. of Computer Science, Carnegie-Mellon
University.
Funt, B. V. 1976. WHISPER: A computer implementation using analogs in
reasoning. Rep. No. 76-09, Computer Science Dept., University of British
Columbia.
Funt, B. V. 1977. WHISPER: A problem-solving system utilizing diagrams
and aparallel processing retina. IJCAI 5, 459-464.
Garvey, T., and Kling, R. 1969. User's guide to QA3.5 question-answering
system. Tech. Note 15, AI Group, Stanford Research Institute, Menlo Park,
Calif.
Gaschnig, J. 1977. Exactly how good are heuristics? Toward a realistic pre-
dictive theory of best-first search. IJCAI 5, 434-441.
372 Bibliography
Gelernter, H. 1959. A note on syntactic symmetry and the manipulation of
formal systems by machine. Information and Control 2:80-89.
Gelernter, H. 1963. Realization of a geometry-theorem proving machine. In
Feigenbaum and Feldman, 134-152.
Gelernter, H., Hansen, J. R., and Gerberich, C. L. 1960. A FORTRAN-
compiled list processing language. /. ACM 7:87-101.
Gelernter, H., Hansen, J. R., and Loveland, D. W. 1963. Empirical ex-
plorations of the geometry-theorem proving machine. In Feigenbaum and
Feldman, 153-163.
Gelernter, H., and Rochester, N. 1958. Intelligent behavior in problem-
solving machines. IBM J. Research and Development 2:336-345.
Gelperin, D. 1977. On the optimality of A*. Artificial Intelligence 8:69-76.
Gentner, D., and Collins, A. M. In press. Knowing about knowing: Effects
of meta-knowledge on inference. In Memory and Cognition.
Gillogly, J. J. 1972. The technology chess program. Artificial Intelligence
3:145-163.
Gilmore, P. C. 1970. An examination of the geometry theorem machine.
Artificial Intelligence 2:171-187.
Goldman, N. 1975. Conceptual generation. In Schank, 289-371.
Goldstein, I. P., and Roberts, R. B. 1977. NUDGE, a knowledge-based
scheduling program. IJCAI 5, 257-263.
Good, I. J. 1968. A five-year plan for automatic chess. In E. Dale and
D. Michie (Eds.), Machine intelligence 2. New York: American Elsevier, 89-
118.
Green, B. F., Jr., Wolf, A. K., Chomsky, C, and Laughery, K. 1963.
BASEBALL: An automatic question answerer. In Feigenbaum and Feld-
man, 207-216.
Green, C. C. 1969. The application of theorem-proving to question- answering
systems. IJCAI 1, 219-237.
Greenblatt, R. D., Eastlake, D. E., and Crocker, S. D. 1967. The Green-
blatt chess program. In AFIPS Conference Proceedings, Fall Joint Computer
Conference, 1967. Washington, D.C.: Thompson, 801-810.
Griffith, A. K. 1974. A comparison and evaluation of three machine learn-
ing procedures as applied to the game of checkers. Artificial Intelligence
5:137-148.
Grishman, R. 1976. A survey of syntactic analysis procedures for natural
language. American Journal of Computational Linguistics, Microfiche 47.
Grosz, B. J. 1980. Utterance and objective: Issues in natural language com-
munication. AI Magazine 1:11-20.
Hall, P. A. V. 1971. Branch-and-bound and beyond. IJCAI 2, 641-650.
Halliday, M. A. K. 1961. Categories of the theory of grammar. Word 17:241-
292.
Bibliography 373
Halliday, M. A. K. 1967-68. Notes on transitivity and theme in English.
Journal of Linguistics 3:37-81, 199-244; 4:179-215.
Halliday, M. A. K. 1970a. Functional diversity in language as seen from a
consideration of modality and mood in English. Foundations of Language
6:322-361.
Halliday, M. A. K. 1970b. Language structure and language function. In
J. Lyons (Ed.), New horizons in linguistics. Harmon dsworth, England:
Penguin Books, 140-165.
Hanson, A. R., and Riseman, E. M. (Eds.). 1978a. Computer vision systems.
New York: Academic Press.
Hanson, A. R., and Riseman, E. M. 1978b. VISIONS: A computer system
for interpreting scenes. In Hanson and Riseman, 303-333.
Harman, G. (Ed.). 1974. On Noam Chomsky: Critical essays. Garden City, N.Y.:
Anchor Books.
Harris, L. R. 1973. The bandwidth heuristic search. IJCAI S, 23-29.
Harris, L. R. 1974. The heuristic search under conditions of error. Artificial
Intelligence 5:217-234.
Harris, L. R. 1975. The heuristic search and the game of chess: A study
of quiescence, sacrifices, and plan oriented play. IJCAI 4, 334-339.
Harris, L. R. 1977a. The heuristic search: An alternative to the alpha-beta
minimax procedure. In Frey, 157-166.
Harris, L. R. 1977b. ROBOT: A high performance natural language pro-
cessor for data base query. SIGART Newsletter 61:39-40.
Harris, L. 1979. Experience with ROBOT in twelve commercial natural lan-
guage data base query applications. IJCAI 6, 365-368.
Hart, P. E., Nilsson, N. J., and Raphael, B. 1968. A formal basis for the
heuristic determination of minimum cost paths. IEEE Transactions on SSC
SSC-4:100-107.
Hart, P. E., Nilsson, N. J., and Raphael, B. 1972. Correction to 'A formal
basis for the heuristic determination of minimum cost paths.' SIGART
Newsletter 37:28-29.
Hayes, P. J. 1973. Computation and deduction. Symposium on mathematical
foundations of computer science, Czechslovakia Academy of Science.
Hayes, P. J. 1974. Some problems and non-problems in representation the-
ory. British Computer Society, AI and Simulation of Behavior Group summer
conference, University of Sussex, 63-79.
Hayes, P. J. 1977a. In defence of logic. IJCAI 5, 559-565.
Hayes, P. J. 1977b. On semantic nets, frames, and associations. IJCAI 5,
99-107.
Hayes-Roth, B., and Hayes-Roth, F. 1979. A cognitive model of planning.
Cognitive Science 3:275-310.
374 Bibliography-
Hays, D. G., and Mathias, J. (Eds.). 1976. FBIS seminar on machine trans-
lation. American Journal of Computational Linguistics, Microfiche 46.
Hearst, E. 1977. Man and machine: Chess achievements and chess think-
ing. In Frey, 167-200.
Hedrick, C. 1976. Learning production systems from examples. Artificial
Intelligence 7:21-49.
Heidorn, G. E. 1976. Automatic programming through natural language
dialogue: A survey. IBM J. Research and Development 20:302-313.
Hendrix, G. G. 1976. Expanding the utility of semantic networks through
partitioning. Artificial Intelligence 7:21-49.
Hendrix, G. G. 1977a. Human engineering for applied natural language pro-
cessing. IJCAI 5, 183-191.
Hendrix, G. G. 1977b. LIFER: A natural language interface facility. SIGART
Newsletter 61:25-26.
Hendrix, G. G. 1977c. The LIFER manual: A guide to building practical
natural language interfaces. Tech. Note 138, Artificial Intelligence Center,
SRI International, Inc., Menlo Park, Calif.
Hendrix, G. G., Sacerdoti, E. D., Sagalowicz, D., and Slocum, J. 1978. De-
veloping a natural language interface to complex data. ACM Transactions
on Database Systems 3:105-147.
Hendrix, G. G., Thompson, C, and Slocum, J. 1973. Language processing
via canonical verbs and semantic models. IJCAI S, 262-269.
Heuristic Programming Project— 1980. 1980. Computer Science Department, Stan-
ford University.
Hewitt, C. 1972. Description and theoretical analysis (using schemata) of
PLANNER, a language for proving theorems and manipulating models in a
robot. Rep. No. TR-258, AI Laboratory, Massachusetts Institute of Tech-
nology.
Hewitt, C. 1975. How to use what you know. IJCAI 4, 189-198.
Hillier, F. S., and Lieberman, G. J. 1974. Operations research (2nd ed.).
San Francisco: Holden-Day.
Hofstadter, D. 1979. Godel, Escher, Bach: an eternal golden braid. New York:
Basic Books.
Hopcroft, J. E., and Ullman, J. D. 1969. Formal languages and their relation
to automata. Reading, Mass.: Addison- Wesley.
Hudson, R. A. 1971. English complex sentences: An introduction to systemic gram-
mar. Amsterdam: North-Holland.
Hudson, R. A. 1976. Arguments for a non-transformational grammar. Chicago:
University of Chicago Press.
Jackendoff, R. 1975. A system of semantic primitives. TINLAP-1, 28-33.
Jackendoff, R. 1976. Toward an explanatory semantic representation. Lin-
guistic Inquiry 7:89-150.
Bibliography 375
Jackson, P. C. 1974. Introduction to artificial intelligence. New York: Petro-
celli.
Josselson, H. H. 1971. Automatic translation of languages since 1960: A
linguist's view. In M. C. Yovits (Ed.), Advances in computers (Vol. 11).
New York: Academic Press, 1-58.
Kaplan, R. M. 1973. A general syntactic processor. In Rustin, 193-241.
Kaplan, S. J. 1979. Cooperative responses from a portable natural language data
base query system. Doctoral dissertation, Dept. of Computer and Information
Science, University of Pennsylvania.
Karp, R. M. 1972. Reducibility among combinatorial problems. In R. E.
Miller and J. W. Thatcher (Eds.), Complexity of computer computations. New
York: Plenum Press, 85-103.
Katz, J., and Postal, P. 1964. An integrated theory of linguistic descriptions.
Cambridge, Mass.: MIT Press.
Kay, M. 1973. The MIND system. In Rustin, 155-188.
Kellogg, C. 1968. A natural language compiler for on-line data manage-
ment. AFIPS Conference Proceedings 88, 1968 Fall Joint Computer Conference.
Washington, D.C.: Thompson, 473-492.
Kister, J., Stein, P., Ulam, S., Walden, W., and Wells, M. 1957. Experi-
ments in chess. J. ACM 4:174-177.
Klatt, D. H. 1977. Review of the ARPA speech understanding project.
Journal of the Acoustical Society of America 62:1345-1366.
Klein, S. 1965. Automatic paraphrasing in essay format. Mechanical Trans-
lation 88:68-83.
Klein, S., and Simmons, R. F. 1963. Syntactic dependence and the com-
puter generation of coherent discourse. Mechanical Translation 7:50-61.
Knuth, D. 1973. The art of computer programming: Fundamental algorithms
(Vol. 1, 2nd ed.). Reading, Mass.: Addison- Wesley.
Knuth, D. 1979. TEX and Metafont: New directions in typesetting. Providence,
R.I.: American Mathematical Society and Bedford, Mass.: Digital Press.
Knuth, D. E., and Moore, R. W. 1975. An analysis of alpha-beta pruning.
Artificial intelligence 6:293-326.
Kotok, A. 1962. A chess playing program. RLE and MIT Computation
Center Memo 41, Artificial Intelligence Project, Massachusetts Institute of
Technology.
Kowalski, R. 1972. And-or graphs, theorem-proving graphs, and bi-direc-
tional search. In B. Meltzer and D. Michie (Eds.), Machine intelligence 7.
New York: Wiley, 167-194.
Kowalski, R. 1974. Predicate logic as a programming language. IFIP 74.
Amsterdam: North-Holland, 569-574.
Kuipers, B. 1975. A frame for frames: Representing knowledge for recog-
nition. In Bobrow and Collins, 151-184.
376 Bibliography
Landsbergen, S. P. J. 1976. Syntax and formal semantics of English in
PHLIQA1. In L. Steels (Ed.), Advances in natural language processing. Ant-
werp, Belgium: University of Antwerp.
Lawler, E. W., and Wood, D. E. 1966. Branch-and-bound methods: A sur-
vey. Operations Research 14:699-719.
Lea, W. 1980a. Speech recognition: Past, present, and future. In Lea,
Trends, 39-89.
Lea, W. (Ed.). 1980b. Trends in speech recognition. Englewood Cliffs, N.J.:
Prentice-Hall.
Lea, W. 1980c. The value of speech recognition systems. In Lea, Trends,
3-18.
Lea, W., and Shoup, J. 1980. Specific contributions of the ARPA SUR
project. In Lea, Trends, 382-421.
Lehnert, W. C. 1978. The process of question answering: A computer simulation
of cognition. Hillsdale, N.J.: Lawrence Erlbaum.
Lenat, D. B. In press. AM: An AI approach to discovery in mathematics.
In Davis and Lenat.
Lenat, D. B., and McDermott, J. 1977. Less than general production sys-
tem architectures. IJCAI 5, 928-932.
Lesser, V. R., and Erman, L. D. In press. Distributed interpretation: A
model and experiment. In IEEE Transactions on Computers.
Levi, G., and Sirovich, F. 1975. A problem reduction model for non-
independent subproblems. IJCAI 4, 340-344.
Levi, G., and Sirovich, F. 1976. Generalized AND/OR graphs. Artificial
Intelligence 7:243-259.
Levine, M. D. 1978. A knowledge-based computer vision system. In A. Han-
son and E. Riseman (Eds.), Computer vision systems. New York: Academic
Press, 335-352.
Levy, D. 1979. The computer chess revolution. Chess Life and Review
(February):84-85.
Lindsay, R. K. 1963a. Inferential memory as the basis of machines which
understand natural language. In Feigenbaum and Feldman, 217-233.
Lindsay, R. K. 1963b. A program for parsing sentences and making infer-
ences about kinship relations. In A. C. Hoggatt and F. E. Balderston
(Eds.), Symposium on simulation models: Methodology and applications to the
behavioral sciences. Cincinnati: South- Western Publishing, 111-138.
Lindsay, R. K., Buchanan, B. G., Feigenbaum, E. A., and Lederberg, J.
1980. Applications of Artificial Intelligence for Chemical Inference: The DENDRAL
Project. New York: McGraw-Hill.
Locke, W. N., and Booth, A. D. (Eds.). 1955. Machine translation of lan-
guages. New York: Technology Press of MIT and Wiley.
Lowerre, B., and Reddy, R. 1980. The HARPY speech understanding sys-
tem. In Lea, Trends, 340-360.
Bibliography 377
Lyons, J. 1968. Introduction to theoretical linguistics. London: Cambridge Uni-
versity Press.
Lyons, J. 1970. Noam Chomsky. New York: Viking Press.
Mann, W., and Moore, J. 1980. Computer as author — Results and prospects.
Tech. Rep. RR-79-82, Information Science Institute, Marina del Rey, Calif.
Manna, Z. 1973. Introduction to the mathematical theory of computation. New
York: McGraw-Hill.
Manove, M., Bloom, S., and Engelman, E. 1968. Rational functions in
MATHLAB. In D. G. Bobrow (Ed.), Symbol manipulation languages and tech-
niques. Amsterdam: North-Holland, 86-102.
Marcus, M. P. 1980. A theory of syntactic recognition for natural language.
Cambridge, Mass.: MIT Press.
Martelli, A. 1977. On the complexity of admissible search algorithms. Arti-
ficial Intelligence 8:1-13.
Martelli, A., and Montanari, U. 1973. Additive AND/OR graphs. IJCAI S,
1-11.
Matuzceck, D. 1972. An implementation of the augmented transition net-
work system of Woods (as revised by J. Slocum). Dept. of Computer Sci-
ences and CAI Laboratory, University of Texas, Austin.
McCarthy, J. 1977. Epistmological problems of artificial intelligence. IJCAI 5,
1038-1044.
McCarthy, J., and Hayes, P. J. 1969. Some philosophical problems from
the standpoint of artificial intelligence. In D. Michie and B. Meltzer (Eds.),
Machine intelligence 4- Edinburgh: Edinburgh University Press, 463-502.
McCord, M. 1975. On the form of a systemic grammar. Journal of Lin-
guistics 11:195-212.
McCorduck, P. 1979. Machines who think. San Francisco: Freeman.
McDermott, D. 1974. Assimilation of new information by a natural language-
understanding system. Rep. No. TR-291, AI Laboratory, Massachusetts
Institute of Technology.
McDermott, D. 1976. Artificial intelligence meets natural stupidity. SIGART
Newsletter 57:4-9.
McDermott, D., and Doyle, J. In press. Non-monotonic logic — I. Artificial Intel-
ligence 13.
McDermott, J., and Forgy, C. 1978. Production system conflict resolution
strategies. In Waterman and Hayes-Roth, 177-199.
McDermott, J., Newell, A., and Moore, J. 1978. The efficiency of certain
production system implementations. In Waterman and Hayes-Roth, 155-
176.
McDonald, D. 1980. Natural language production as a process of decision making
under constraint. Doctoral dissertation, Laboratory for Computer Science,
Massachusetts Institute of Technology.
378 Bibliography
Mcintosh, A., and Halliday, M. A. K. 1966. Patterns of language. Bloom-
ington: Indiana University Press.
McKeown, K. 1980. Generating relevant explanation: Natural language re-
sponses to questions about database structure. Proceedings of the AAAI,
306-309.
Michie, D. 1967. Strategy building with the graph traverser. In N. L.
Collins and D. Michie (Eds.), Machine intelligence 1. New York: American
Elsevier, 135-152.
Michie, D. 1977. A theory of advice. In E. W. Elcock and D. Michie
(Eds.), Machine intelligence 8. New York: Wiley, 151-168.
Michie, D., and Bratko, I. 1978. Advice table representations of chess end-
game knowledge. In Proceedings of the AISB/GI Conference on Artificial
Intelligence, 194-200.
Michie, D., and Ross, R. 1970. Experiments with the adaptive graph tra-
verser. In B. Meltzer and D. Michie (Eds.), Machine intelligence 5. New
York: American Elsevier, 301-318.
Miller, G. A. 1975. Comments on lexical analysis. TINLAP-1, 34-37.
Miller, G. A., and Johnson-Laird, P. N. 1976. Language and perception. Cam-
bridge, Mass.: Harvard University Press.
Minsky, M. 1963. Steps toward artificial intelligence. In Feigenbaum and
Feldman, 406-450.
Minsky, M. (Ed.). 1968. Semantic information processing. Cambridge, Mass.:
MIT Press.
Minsky, M. 1975. A framework for representing knowledge. In P. Winston
(Ed.), The psychology of computer vision. New York: McGraw-Hill, 211-277.
Mittman, B. 1977. A brief history of the computer chess tournaments: 1970-
1975. In Frey, 1-33.
Moore, E. F. 1959. The shortest path through a maze. In Proceedings of an
International Symposium on the Theory of Switching, Part II. Cambridge, Mass.:
Harvard University Press, 285-292.
Moore, R. C. 1975. Reasoning from incomplete knowledge in a procedural
deductive system. Rep. No. TR-347, AI Laboratory, Massachusetts Insti-
tute of Technology.
Moses, J. 1967. Symbolic integration. Rep. No. MAC-TR-47, Project MAC,
Massachusetts Institute of Technology.
Myopolous, J., Cohen, P., Borgida, A., and Sugar, L. 1975. Semantic
networks and the generation of context. IJCAI 4, 134-142.
Nash-Webber, B. 1974. Semantics and speech understanding. BBN Rep.
No. 2896, Bolt Beranek and Newman, Inc., Cambridge, Mass.
Nash-Webber, B. L. 1975. The role of semantics in automatic speech under-
standing. In Bobrow and Collins, 351-382.
Bibliography 379
National Research Council, Automatic Language Processing Advisory Com-
mittee. 1966. Language and machines: Computers in translation and
linguistics. Publication 1416, National Academy of Sciences, National
Research Council, Washington, D.C.
Newborn, M. 1975. Computer chess. New York: Academic Press.
Newborn, M. 1977. The efficiency of the alpha-beta search on trees with
branch-dependent terminal node scores. Artificial Intelligence 8:137-153.
Newborn, M. 1978. Computers and chess news: Recent tournaments. SIGART
Newsletter 65:11.
Newell, A. 1973a. Artificial intelligence and the concept of mind. In Schank
and Colby, 1-60.
Newell, A. 1973b. Production systems: Models of control structure. In
W. Chase (Ed.), Visual information processing. New York: Academic Press,
463-526.
Newell, A. 1975. A tutorial on speech understanding systems. In D. R.
Reddy (Ed.), Speech recognition: Invited papers presented at the 1974 IEEE
symposium. New York: Academic Press, 3-54.
Newell, A. 1978. HARPY: Production systems and human cognition. Rep.
CMU-CS-78-140, Dept. of Computer Science, Carnegie-Mellon University.
Newell, A., Barnett, J., Forgie, J., Green, C, Klatt, D. H., Licklider,
J. C. R., Munson, J., Reddy, D. R., and Woods, W. A. 1973. Speech
understanding systems: Final report of a study group. Amsterdam: North-
Holland.
Newell, A., and Ernst, G. 1965. The search for generality. In W. A.
Kalenich (Ed.), Information processing 65: Proceedings IFIP Congress 1965.
Washington, D.C: Spartan Books, 17-24.
Newell, A., Shaw, J. C, and Simon, H. A. 1960. A variety of intelligent
learning in a general problem-solver. In M. C. Yovits and S. Cameron
(Eds.), Self-organizing systems. New York: Pergamon Press, 153-189.
Newell, A., Shaw, J. C, and Simon, H. A. 1963a. Chess-playing programs
and the problem of complexity. In Feigenbaum and Feldman, 39-70.
Newell, A., Shaw, J. C, and Simon, H. A. 1963b. Empirical explorations
with the logic theory machine: A case history in heuristics. In Feigen-
baum and Feldman, 109-133.
Newell, A., and Simon, H. A. 1963. GPS, a program that simulates human
thought. In Feigenbaum and Feldman, 279-293.
Newell, A., and Simon, H. A. 1972. Human problem solving. Englewood
Cliffs, N.J.: Prentice-Hall.
Newell, A., and Simon, H. A. 1976. Computer science as empirical inquiry:
Symbols and search. (The 1976 ACM Turing Lecture.) CACM 19:113-126.
Nii, H. P., and Feigenbaum, E. A. 1978. Rule-based understanding of sig-
nals. In Waterman and Hayes-Roth, 483-501.
380 Bibliography
Nilsson, N. J. 1969. Searching problem- solving and game-playing trees for
minimal cost solutions. In A. J. H. Morrell (Ed.), Information processing 68:
Proceedings IFIP Congress 1968 (Vol. 2). Amsterdam: North-Holland, 1556-
1562.
Nilsson, N. J. 1971. Problem- solving methods in artificial intelligence. New York:
McGraw-Hill.
Nilsson, N. J. 1974. Artificial intelligence. In J. L. Rosenfeld (Ed.), Infor-
mation processing 74: Proceedings IFIP Congress 1974- Amsterdam: North-
Holland, 778-801.
Nilsson, N. J. 1980. Principles of artificial intelligence. Palo Alto, Calif.: Tioga.
Norman, D. A., Rumelhart, D. E., and the LNR Research Group. 1975.
Explorations in cognition. San Francisco: Freeman.
Novak, G. S. 1977. Representation of knowledge in a program for solving
physics problems. IJCAI 5, 286-291.
Oettinger, A. G. 1955. The design of an automatic Russian-English tech-
nical dictionary. In Locke and Booth, 47-65.
Paige, J. M., and Simon, H. A. 1966. Cognitive processes in solving algebra
word problems. In B. Kleinmuntz (Ed.), Problem solving. New York: Wiley,
51-119.
Paxton, W. H. 1976. A framework for language understanding. SRI Tech.
Note 131, AI Center, SRI International, Inc., Menlo Park, Calif.
Petrick, S. R. 1973. Transformational analysis. In Rustin, 27-41.
Pitrat, J. 1977. A chess combination program which uses plans. Artificial
Intelligence 8:275-321.
Plath, W. 1976. REQUEST: A natural language question- answering system.
IBM J. Research and Development 20:326-335.
Pohl, I. 1969. Bi-directional and heuristic search in path problems. SLAC
Rep. No. 104, Stanford Linear Accelerator Center, Stanford, Calif.
Pohl, I. 1970a. First results on the effect of error in heuristic search. In
B. Meltzer and D. Michie (Eds.), Machine intelligence 5. New York: Amer-
ican Elsevier, 219-236.
Pohl, I. 1970b. Heuristic search viewed as path finding in a graph. Artifi-
cial Intelligence 1:193-204.
Pohl, I. 1971. Bi-directional search. In B. Meltzer and D. Michie (Eds.),
Machine intelligence 6. New York: American Elsevier, 127-140.
Pohl, I. 1973. The avoidance of (relative) catastrophe, heuristic competence,
genuine dynamic weighting and computational issues in heuristic problem
solving. IJCAI S, 12-17.
Pohl, I. 1977. Practical and theoretical considerations in heuristic search
algorithms. In E. W. Elcock and D. Michie (Eds.), Machine intelligence 8.
New York: Wiley, 55-72.
Polya, G. 1957. How to solve it (2nd ed.). New York: Doubleday Anchor.
Bibliography 381
Post, E. 1943. Formal reductions of the general combinatorial problem.
American Journal of Mathematics 65:197-268.
Postal, P. 1964. Limitations of phrase structure grammars. In J. A. Fodor
and J. J. Katz, The structure of language. Englewood Cliffs, N.J.: Prentice-
Hall, 137-151.
Prawitz, D. 1965. Natural deduction: A proof-theoretical study. Stockholm:
Almqvist and Wiksell.
Propp, V. 1968. Morphology of the folktale (2nd. ed., transl. L. Scott). Austin:
University of Texas Press.
Pylyshyn, Z. 1973. What the mind's eye tells the mind's brain: A critique
of mental imagery. Psychological Bulletin 13:1-24.
Pylyshyn, Z. 1975. Do we need images and analogs? TINLAP-1, 174-177.
Pylyshyn, Z. 1978. Imagery and artificial intelligence. In C. W. Savage (Ed.),
Perception and cognition: Issues in the foundations of psychology. Minneapolis:
University of Minnesota Press.
Quillian, M. R. 1968. Semantic memory. In Minsky, 227-270.
Quillian, M. R. 1969. The teachable language comprehender: A simulation
program and the theory of language. CACM 12:459-476.
Raphael, B. 1968. SIR: A computer program for semantic information
retrieval. In Minsky, 33-145.
Raphael, B. 1976. The thinking computer. San Francisco: Freeman.
Reboh, R., Sacerdoti, E., Fikes, R. E., Sagalowicz, D., Waldinger, R. J., and
Wilber, M. 1976. QLISP: A language for the interactive development of
complex systems. Rep. No. TN-120, AI Center, SRI International, Inc.,
Menlo Park, Calif.
Reddy, R. (Ed.). 1975. Speech recognition: Invited papers of the IEEE sympo-
sium. New York: Academic Press.
Reddy, R., Erman, L., Fennell, R., and Neely, R. 1976. The HEARSAY
speech understanding system: An example of the recognition process.
IEEE Transactions on Computers C-25:427-431.
Reingold, E. M., Nievergelt, J., and Deo, N. 1977. Combinatorial algorithms:
Theory and practice. Englewood Cliffs, N.J.: Prentice-Hall.
Reiter, R. 1978. On reasoning by default. TINLAP-2, 210-218.
Rieger, C. 1975. Conceptual memory and inference. In Schank, 157-288.
Riesbeck, C. K. 1975. Conceptual analysis. In Schank, 83-156.
Robinson, A. E., Appelt, D. E., Grosz, B. J., Hendrix, G. G., and Robinson,
J. J. 1980. Interpreting natural-language utterances in dialogs about tasks.
Tech. Note 210, Artificial Intelligence Center, SRI International, Inc., Menlo
Park, Calif.
Robinson, J. J. 1975. Performance grammars. In Reddy, 401-427.
382 Bibliography
Rulifson, J., Derkson, J. A., and Waldinger, R. J. 1972. QA4: A proce-
dural calculus for intuitive reasoning. Rep. No. TN-83, AI Center, SRI
International, Inc.
Rumelhart, D. 1975. Notes on a schema for stories. In Bobrow and
Collins, 211-236.
Rumelhart, D. 1976. Toward an interactive model of reading. Tech. Rep.
56, Center for Human Information Processing, Univ. of California, San
Diego.
Russell, S. W. 1972. Semantic categories of nominals for conceptual
dependency analysis of natural language. Memo 172, AI Laboratory,
Stanford University.
Rustin, R. (Ed.). 1973. Natural language processing. New York: Algorithmics
Press.
Rychener, M. D. 1976. Production systems as a programming language for
artificial intelligence applications. Computer Science Dept., Carnegie-Mellon
University.
Rychener, M. D. 1977. Control requirements for the design of production
system architectures. ACM symposium on artificial intelligence and programming
languages, Rochester, N.Y., 37-44.
Sacerdoti, E. D. 1974. Planning in a hierarchy of abstraction spaces. Arti-
ficial Intelligence 5:115-135.
Sacerdoti, E. D. 1977. Language access to distributed data with error recov-
ery. IJCAI 5, 196-202.
Samlowski, W. 1976. Case grammar. In Charniak and Wilks, 55-72.
Samuel, A. L. 1963. Some studies in machine learning using the game of
checkers. In Feigenbaum and Feldman, 71-105.
Samuel, A. L. 1967. Some studies in machine learning using the game of
checkers. II — Recent progress. IBM J. Research and Development 11:601-617.
Sandewall, E. J. 1971. Heuristic search: Concepts and methods. In N. V.
Findler and B. Meltzer (Eds.), Artificial intelligence and heuristic programming.
New York: American Elsevier, 81-100.
Scha, R. J. H. 1976. A formal language for semantic representation. In
L. Steels (Ed.), Advances in natural language processing. Antwerp, Belgium:
University of Antwerp.
Schank, R. C. 1972. Conceptual dependency: A theory of natural language
understanding. Cognitive Psychology 3:552-631.
Schank, R. C. 1973a. The fourteen primitive actions and their inferences.
Memo 183, AI Laboratory, Stanford University.
Schank, R. C. 1973b. Identification of conceptualizations underlying natural
language. In Schank and Colby, 187-247.
Schank, R. C. 1975a. Conceptual information processing. New York: North-
Holland.
Bibliography 383
Schank, R. C. 1975b. The primitive ACTs of conceptual dependency.
TINLAP-1, 38-41.
Schank, R. C. 1975c. The structure of episodes in memory. In Bobrow and
Collins, 237-272.
Schank, R. C. 1980. Language and memory. Cognitive Science 4:243-284.
Schank, R. C, and Abelson, R. P. 1977. Scripts, plans, goals, and under-
standing. Hillsdale, N.J.: Lawrence Erlbaum.
Schank, R. C, and Colby, K. M. (Eds.). 1973. Computer models of thought
and language. San Francisco: Freeman.
Schank, R., Goldman, N., Rieger, C, and Riesbeck, C. 1973. MARGIE:
Memory, analysis, response generation, and inference on English. IJCAI 8,
255-261.
Schank, R., and Yale AI Project. 1975. SAM — A story understander. Research
Rep. 43, Dept. of Computer Science, Yale University.
Schubert, L. K. 1975. Extending the expressive power of semantic net-
works. IJCAI 4, 158-164.
Searle, J. 1969. Speech acts. Cambridge, England: Cambridge University Press.
Searle, J. R. 1980. Mind, brains, and programs. Behavioral and Brain Sciences
3:417-457.
Self, J. 1975. Computer generation of sentences by systemic grammar. Amer-
ican Journal of Computational Linguistics, Microfiche 29.
Shannon, C. E. 1950. Programming a computer for playing chess. Philo-
sophical Magazine (Series 7) 41:256-275.
Shannon, C. E. 1956. A chess-playing machine. In J. R. Newman (Ed.),
The world of mathematics (Vol. 4). New York: Simon and Schuster, 2124-
2133.
Shortliffe, E. H. 1976. Computer-based medical consultations: MYCIN. New York:
North-Holland.
Shoup, J. 1980. Phonological aspects of speech recognition. In Lea, Trends,
125-138.
Siklossy, L. 1976. Let's talk LISP. Englewood Cliffs, N.J.: Prentice-Hall.
Simmons, R. F. 1965. Answering English questions by computer: A survey.
CACM 8:53-70.
Simmons, R. F. 1966. Storage and retrieval of aspects of meaning in
directed graph structures. CACM 9:211-214.
Simmons, R. F. 1970. Natural language question-answering systems: 1969.
CACM 13:15-30.
Simmons, R. F. 1973. Semantic networks: Their computation and use for
understanding English sentences. In Schank and Colby, 63-113.
Simmons, R. F., Burger, J. F., and Long, R. E. 1966. An approach toward
answering English questions from text. AFIPS Conference Proceedings 29, 1966
Fall Joint Computer Conference. Washington, D.C.: Spartan Books, 357-363.
384 Bibliography
Simmons, R. F., Burger, J. F., and Schwarcz, R. M. 1968. A computa-
tional model of verbal understanding. AFIPS Conference Proceedings S3, 1968
Fall Joint Computer Conference. Washington, D.C.: Thompson, 441-456.
Simmons, R. F., Klein, S., and McConlogue, K. 1964. Indexing and depen-
dency logic for answering English questions. American Documentation 15:196—
204.
Simmons, R. F., and Slocum, J. 1972. Generating English discourse from
semantic networks. CACM 15:891-905.
Simon, H. A. 1969. The sciences of the artificial. Cambridge, Mass.: MIT Press.
Simon, H. A., and Kadane, J. B. 1975. Optimal problem-solving search:
All-or-none solutions. Artificial Intelligence 6:235-247.
Slagle, J. R. 1961. A heuristic program that solves symbolic integration
problems in freshman calculus: Symbolic Automatic Integrator (SAINT).
Rep. No. 5G-0001, Lincoln Laboratory, Massachusetts Institute of Tech-
nology.
Slagle, J. R. 1963. A heuristic program that solves symbolic integration
problems in freshman calculus. In Feigenbaum and Feldman, 191-203.
(Also in /. ACM 10:507-520 [1963].)
Slagle, J. R. 1971. Artificial intelligence: The heuristic programming approach.
New York: McGraw-Hill.
Slagle, J. R., and Dixon, J. K. 1969. Experiments with some programs that
search game trees. /. ACM 16:189-207.
Slagle, J. R., and Dixon, J. K. 1970. Experiments with the M and N tree-
searching program. CACM 13:147-154.
Slate, D. J., and Atkin, L. R. 1977. CHESS 4.5— The Northwestern Uni-
versity chess program. In Frey, 82-118.
Sloman, A. 1971. Interactions between philosophy and AI: The role of intui-
tion and non-logical reasoning in intelligence. Artificial Intelligence 2:209-
225.
Sloman, A. 1975. Afterthoughts on analogical representations. TINLAP-1,
178-182.
Stefik, M. 1980. Planning with constraints. Rep. No. 784, Computer Science
Dept., Stanford University.
Steinberg, D., and Jakobovits, L. 1971. Semantics. Cambridge, England:
Cambridge University Press.
Suppes, P. 1957. Introduction to logic. New York: Van Nostrand Reinhold.
Sussman, G., and McDermott, D. V. 1972. CONNIVER reference manual.
Memo 259, AI Laboratory, Massachusetts Institute of Technology.
Sussman, G., Winograd, T., and Charniak, E. 1970. MICRO-PLANNER
reference manual. AI Memo 203, AI Laboratory, Massachusetts Institute of
Technology.
Bibliography 385
Szolovitz, P., Hawkinson, L. B., and Martin, W. A. 1977. An overview of
OWL, a language for knowledge representation. Rep. No. TM-86, Labora-
tory for Computer Science, Massachusetts Institute of Technology.
Taylor, B., and Rosenberg, R. S. 1975. A case-driven parser for natural
language. American Journal of Computational Linguistics, Microfiche 31.
Thompson, F. B. 1966. English for the computer. AFIPS Conference Pro-
ceedings 29, 1966 Fall Joint Computer Conference. Washington, D.C.: Spartan
Books, 349-356.
Thorndyke, P. W. 1977. Cognitive structures in comprehension and memory
of narrative discourse. Cognitive Psychology 9:77-110.
Thorp, E., and Walden, W. E. 1970. A computer-assisted study of Go on
m X n boards. In R. B. Banerji and M. D. Mesarovic (Eds.), Theoretical
approaches to non-numerical problem solving. Berlin: Springer- Verlag, 303-343.
TINLAP-1 (Schank, R., and Nash-Webber, B., Eds.). 1975. Theoretical issues
in natural language processing: An interdisciplinary workshop in computational lin-
guistics, psychology, linguistics, and artificial intelligence, June 1975.
TINLAP-2 (Waltz, D. L., Ed.). 1978. Theoretical issues in natural language
processing — 2. New York: Association for Computing Machinery.
Turing, A. M., et al. 1953. Digital computers applied to games. In B. V.
Bowden (Ed.), Faster than thought. London: Pitman, 286-310.
Vanderbrug, G., and Minker, J. 1975. State-space, problem-reduction, and
theorem proving — Some relationships. CACM 18:107-115.
Vere, S. A. 1977. Relational production systems. Artificial Intelligence 8:47-68.
Vincens, P. 1969. Aspects of speech recognition by computer. Doctoral
dissertation, Computer Science Dept., Stanford University.
Walker, D. E. (Ed.). 1976. Speech understanding research. New York: North-
Holland.
Walker, D. E. (Ed.). 1978. Understanding spoken language. New York: North-
Holland.
Walker, D. E. 1980. SRI research on speech understanding. In Lea, Trends,
294-315.
Waltz, D. L. 1977. Natural language interfaces. SIGART Newsletter 61:16-64.
Waltz, D. L. In press. An English language question answering system for
a large relational data base.
Waterman, D. A. 1970. Generalization learning techniques for automating
the learning of heuristics. Artificial Intelligence 1:121-170.
Waterman, D. A., and Hayes-Roth, F. (Eds.). 1978. Pattern- directed inference
systems. New York: Academic Press.
Weaver, W. 1955. Translation. In Locke and Booth, 15-23. (Originally
published, 1949.)
Weizenbaum, J. 1963. Symmetric list processor. CACM 6:524-544.
386 Bibliography
Weizenbaum, J. 1966. ELIZA — A computer program for the study of natural
language communication between man and machine. CACM 9:36-45.
Weizenbaum, J. 1976. Computer power and human reason: From judgment to
calculation. San Francisco: Freeman.
Welin, C. W. 1975. Semantic networks and case grammar. Publication 29,
Institute of Linguistics, University of Stockholm.
Weyhrauch, R. W. 1978. Prolegomena to a theory of mechanized formal
reasoning. Memo 315, AI Laboratory, Stanford University.
Whitehead, A. N., and Russell, B. 1925. Principia mathematica (2nd ed.,
Vol. 1). Cambridge, England: University Press.
Wilensky, R. 1978a. Understanding goal-based stories. Research Rep. No.
140, Dept. of Computer Science, Yale University.
Wilensky, R. 1978b. Why John married Mary: Understanding stories involv-
ing recurring goals. Cognitive Science 2:235-266.
Wilkins, D. 1979. Using plans in chess. IJCAI 6.
Wilks, Y. A. 1973. An artificial intelligence approach to machine trans-
lation. In Schank and Colby, 114-151.
Wilks, Y. A. 1974. Natural language understanding systems within the AI
paradigm: A survey and some comparisons. AI Memo 237, AI Laboratory,
Stanford University. (Also in A. Zampolli, Ed., Linguistic structures pro-
cessing. Amsterdam: North-Holland, 1977, 341-398.)
Wilks, Y. A. 1975a. An intelligent analyzer and understander of English.
CACM 18:264-274.
Wilks, Y. A. 1975b. Preference semantics. In E. L. Keenan (Ed.), Formal
semantics of natural language. Cambridge, England: Cambridge University
Press, 329-348.
Wilks, Y. A. 1975c. A preferential, pattern- seeking semantics for natural
language inference. Artificial Intelligence 6:53-74.
Wilks, Y. A. 1975d. Primitives and words. TINLAP-2, 42-45.
Wilks, Y. A. 1976. Processing case. American Journal of Computational Lin-
guistics, Microfiche 56.
Wilks, Y. A. 1977a. Good and bad arguments about semantic primitives.
Research Rep. 42, Dept. of Artificial Intelligence, University of Edinburgh.
Wilks, Y. A. 1977b. Knowledge structures and language boundaries. IJCAI 5,
151-157.
Wilks, Y. A. 1977c. Methodological questions about artificial intelligence:
Approaches to understanding natural language. Journal of Pragmatics 1:69-
84.
Wilks, Y. A. 1977d. Time flies like an arrow. New Scientist 76:696-698.
Wilks, Y. A. 1977e. What sort of taxonomy of causation do we need for
language understanding? Cognitive Science 1:235-264.
Bibliography 387
Wilks, Y. A. 1978. Making preferences more active. Artificial Intelligence
11:197-223.
Wilks, Y. A., and Herskovits, A. 1973. An intelligent analyser and generator
for natural language. Proceedings of the international conference on compu-
tational linguistics, Pisa, Italy.
Winograd, T. 1972. Understanding natural language. New York: Academic Press.
Winograd, T. 1973. A procedural model of language understanding. In
Schank and Colby, 152-186.
Winograd, T. 1974. Five lectures on artificial intelligence. AI Memo 246,
AI Laboratory, Stanford University. (Also in A. Zampolli, Ed., Linguistic
structures processing. Amsterdam: North-Holland, 1977, 399-520.)
Winograd, T. 1975. Frame representations and the declarative/procedural
controversy. In Bobrow and Collins, 185-210.
Winograd, T. 1976. Parsing natural language via recursive transition net.
In R. Yeh (Ed.), Applied computation theory: Analysis, design, modeling.
Englewood Cliffs, N.J.: Prentice-Hall, 451-467.
Winograd, T. 1978. On primitives, prototypes, and other semantic anom-
alies. TINLAP-2, 25-32.
Winograd, T. 1979. Beyond programming languages. CACM 22(7):391-401.
Winograd, T. 1980a. Extended inference modes in reasoning by computer
systems. Artificial Intelligence 13:5-26.
Winograd, T. 1980b. What does it mean to understand language? Cognitive
Science 4:209-241.
Winograd, T. In press. Language as a cognitive process. Reading, Mass.:
Addison-Wesley.
Winston, P. H. (Ed.). 1975. The psychology of computer vision. New York:
McGraw-Hill.
Winston, P. H. 1977. Artificial intelligence. Reading, Mass.: Addison-Wesley.
Winston, P. H., and Brown, R. H. (Eds.). 1979. Artificial intelligence: An MIT
perspective. Cambridge, Mass.: MIT Press.
Wolf, J., and Woods, W. 1980. The HWIM speech understanding system.
In Lea, Trends, 316-339.
Wong, H. K. 1975. Generating English sentences from semantic structures.
Tech. Rep. 84, Dept. of Computer Science, University of Toronto.
Woods, W. A. 1968. Procedural semantics for a question-answering machine.
Fall Joint Computer Conference 33:457-471.
Woods, W. A. 1970. Transition network grammars for natural language
analysis. CACM 13:591-606.
Woods, W. A. 1973a. An experimental parsing system for transition net-
work grammars. In Rustin, 111-154.
388 Bibliography
Woods, W. A. 1973b. Progress in natural language understanding: An appli-
cation to lunar geology. AFIPS Conference Proceedings £2, 197S National
Computer Conference. Montvale, N.J.: AFIPS Press, 441-450.
Woods, W. A. 1975a. SPEECHLIS: An experimental prototype for speech
understanding research. IEEE Transactions on Acoustics, Speech, and Signal
Processing 23(1):2-10.
Woods, W. A. 1975b. What's in a link: Foundations for semantic networks.
In Bobrow and Collins, 35-82.
Woods, W. A., et al. 1976. Speech understanding systems: Final report. Rep.
No. 3438, Bolt Beranek and Newman, Inc., Cambridge, Mass.
Woods, W. A., and Kaplan, R. 1971. The lunar sciences natural language
information system. BBN Rep. No. 2265, Bolt Beranek and Newman, Inc.,
Cambridge, Mass.
Woods, W. A., Kaplan, R., and Nash-Webber, B. 1972. The lunar sciences
natural language information system: Final report. BBN Rep. No. 2378,
Bolt Beranek and Newman, Inc., Cambridge, Mass.
Yngve, V. 1962. Random generation of English sentences. 1961 international
conference on machine translation of languages and applied language analysis.
(National Physical Laboratory, Symposium No. 13.) London: Her Majesty's
Stationery Office, 66-80.
Indexes
NAME INDEX
Pages where the work is discussed are italicized.
Abelson, R. P., 15, 149, 212-215, 216,
217, 219, 221, 222, 232, 255, 300-302,
305, 306, 308-310, 313-315, 365, 383
Adelson-Velskiy, G. M, 95, 96, 99, 102,
103, 104, 108, 365
Aho, A. V., 68, 71, 365
Aikins, J. S., 217, 220, 365
Akmajian, A., 248, 365, 369
Allen, J., 16, 365
Amarel, S., 27, 30, 365
Anderson, J., 15, 180, 185, 189, 193, 195,
365
Appelt, D. E., 232, 280, 365, 381
Arbuckle, T., 99, 105, 108, 366
Arlazarov, V. L., 96, 99, 102-104, 108,
365
Artsouni, G. B., 2SS
Atkin, L. R., 95, 96, 99, 100, 102, 103,
108, 384
Bahl, L. R., 329, 365
Baker, J. K., 329, 349, 365, 366
Baker, R., 204, 366
Bar-Hillel, Y., 233, 236, 238, 366
Barnett, J., 327, 333, 358, 366, 379
Barrow, H. G., 318, 321, 366
Barstow, D. R., 16, 194, 366
Bartlett, F. C, 216, 307, 315, 366
Baudet, G. M, 91, 93, 366
Beasley, C, 195, 365
Belsky, M. A., 99, 105, 108, 366
Berliner, H. J., 95, 96, 98, 99-100, 102,
103, 104, 106-107, 108, 366
Bernstein, A., 99, 105, 108, 366
Bernstein, M. L, 198, 333, 358, 366, 367
Bloom, S., 127, 377
Bobrow, D. G., 15, 147, 148, 152, 158,
217, 219, 220-221, 222, 231, 232, 267,
284, 367
Boden, M., 15, 152, 232, 287, 299, 367
Bolles, R. C, 318, 321, 366
Booth, A. D., 281, 234, 238, 367, 376
Borgida, A., 186, 378
Bott, M. F., 226, 367
Bower, G., 15, 180, 185, 189, 193, 365
Brachman, R. J., 147, 152, 184, 217, 221,
222, 367
Bratko, I., 95, 103, 107, 108, 367, 378
Bresnan, J., 248, 367
Britten, D. H. V., 234
Brooks, R., 367
Brown, J. S., 368
Brown, R. H., 16, 387
Bruce, B., 254, 255, 367
Buchanan, B. G., 16, 151, 195, 369, 376
Bullwinkle, C., 221, 367
Burger, J. F., 228, 384
Burton, R. R., 318, 367, 368
Carbonell, J. R., 186, 368
Chafe, W. L., 368
Chang, C. L., 80, 81, 83, 368
Charness, N., 95, 108, 368
Charniak, E., 15, 222, 232, 248, 255, 262,
291, 299, 368, 385
Chomsky, C, 282, 372
Chomsky, N., 227, 229, 237, 289, 243,
244, 245, 247, 248, 368
Clippinger, J. H., Jr., 279, 368
Codd, E. F., 292, 369
Cohen, P. R., 186, 232, 280, 369, 378
Cohen, P. S., 329, 365
392
Name Index
Colby, K. M., 15, 257, 369, 383
Cole, A. G., 329, 365
Cole, R. A., 331, 369
Collins, A. M., 15, 147, 152, 186, 232,
367, 368, 372
Conway, M. E., 267, 369
Crocker, S. D., 95, 100, 101, 104, 108,
372
Culicover, P. W., 248, 369
Davies, D. J. M., 176, 369
Davis, R., 16, 147, 151, 194, 195, 197,
198, 199, 369
de Champeaux, D., 78, 369
Deo, N., 64, 66, 381
Derkson, J. A., 176, 382
Dijkstra, E. W., 64, 66, 369
Dixon, J. K., 91, 93, 98, 102, 108, 384
Donskoy, M. V., 96, 99, 102-104, 108,
365
Doran, J. E., 60, 63, 67, 71, 369, 370
Doyle, J., 178, 377
Dreyfus, H. L., 370
Duda, R. O., 196, 197, 370
Eastlake, D. E., 95, 100, 101, 104, 108,
372
Eastman, C. M., 202, 370
Elcock, E. W., 122, 370
Engelman, E., 127, 377
Erman, L. D., 196, 197, 331, 336, 342,
848, 845, 348, 370, 381
Ernst, G., 30, 63, 113, 117, 118, 370, 379
Fahlman, S. E., 204, 222, 370
Feigenbaum, E. A., 14, 16, 29, 30, 63,
198, 232, 287, 336, 343, 370, 376, 380
Feldman, J., 14, 29, 30, 232, 287, 370
Fennell, R. D., 336, 343, 345, 370, 381
Fikes, R. E., 42, 128, 134, 169, 176, 188,
370, 381
Fillmore, C, 252, 255, 371
Filman, R. E., 169, 170, 205, 371
Findler, N. V., 16, 152, 189, 371
Flanagan, J., 325, 371
Flavell, J. H., 145, 147, 371
Forgie, J., 327, 379
Forgy, C, 197, 371, 377
Fox, M., 348, 371
Fraser, B., 267, 367
Frege, G., 200
Frey, P. W., 95, 102, 104, 108, 371
Friedman, J., 268, 278, 371
Fuller, S. H., 91, 93, 371
Funt, B. V., 208, 205, 206, 371
Garvey, T. D., 129, 134, 318, 321, 366,
372
Gaschnig, J. G., 59, 63, 91, 93, 371, 372
Gelernter, H., 119, 122, 201, 372
Gelperin, D., 65, 66, 372
Gentner, D., 147, 372
Gerberich, C. L., 122, 372
Gillman, R., 333, 358, 366
Gillogly, J. J., 91, 93, 97, 98, 99, 102,
103, 108, 371, 372
Gilmore, P. C, 122, 372
Goldman, N., 278, 279, 804, 305, 372,
383
Goldstein, I. P., 217, 221, 372
Good, I. J., 27, 30, 372
Green, B. F., Jr., 282, 372
Green, C. C, 155, 168, 170, 327, 372,
379
Greenblatt, R. D., 95, 100, 101, 104, 108,
372
Griffith, A. K., 97, 108, 372
Grishman, R., 262, 372
Grosz, B. J., 232, 373, 381
Hall, P. A. V., 64, 66, 373
Halliday, M. A. K., 249, 251, 373, 378
Hansen, J. R., 122, 372
Hanson, A. R., 16, 336, 343, 373
Harman, G., 248, 373
Harris, L. R., 69, 71, 97, 100, 102, 108,
232, 373
Hart, P. E., 64, 66, 134, 169, 196, 197,
370, 373
Hawkinson, L. B., 217, 220, 385
Hayes, P. J., 148, 170-171, 172, 175, 177,
179, 186, 200, 201, 373, 374, 377
Hayes-Roth, B., 336, 343, 374
Hayes-Roth, F., 16, 199, 331, 336, 343,
845, 348, 370, 374, 385
Hays, D. G., 238, 374
Hearst, E., 96, 108, 374
Hedrick, C, 195, 374
Heidorn, G. E., 374
Hendrix, G. G., 184, 186, 188, 232, 816,
318, 321, 370, 374, 381
Heny, F., 248, 365
Herskovits, A., 289, 291, 387
Hewitt, C, 172, 175, 176, 178, 179, 374
Hilf, F., 257, 369
Hillier, F. S., 64, 66, 374
Name Index
393
Hofstadter, D., 4, 15, 374
Hopcroft, J. E., 68, 71, 241, 244, 365,
374
Hudson, R. A., 251, 374
Jackendoff, R., 207, 374, 375
Jackson, P. C, 15, 30, 42, 375
Jakobovits, L., 248, 384
Jelinek, F., 329, 365
Johnson-Laird, P. N., 207, 378
Josselson, H. H., 238, 375
Kadane, J. B., 59, 63, 68, 71, 384
Kameny, I., 333, 358, 366
Kaplan, R. M., 219, 221, 232, 260, 261,
267, 268, 272, 293, 294, 367, 375, 388
Kaplan, S. J., 232, 375
Karp, R. M., 69, 71, 375
Katz, J., 248, 375
Kay, M, 219, 221, 232, 268, 272, 367,
375
Kellogg, C, 228, 375
King, J. J., 194, 197, 199, 369
Kister, J., 99, 103, 108, 375
Klatt, D. H., 326, 327, 330, 375, 379
Klein, S., 274, 275, 375, 384
Kline, P., 195, 365
Kling, R., 129, 134, 372
Knuth, D. E., xiii, 86, 87, 89, 90, 91, 93,
269, 375
Kopec, D., 95, 107, 108, 367
Kotok, A., 104, 108, 375
Kowalski, R., 25, 30, 73, 74, 81, 83, 175,
375
Kremers, J. H., 318, 321, 366
Kuipers, B., 222, 376
Landsbergen, S. P. J., 232, 376
Lantz, K., 318, 321, 366
Laughery, K., 282, 372
Lawler, E. W., 64, 66, 376
Lea, W., 16, 232, 325, 326, 329-331, 335,
344, 348, 376
Lederberg, J., 16, 376
Lehnert, W. C, 16, 212, 376
Lenat, D. B., 16, 194, 195, 196, 197, 369,
376
Lesser, V. R., 196, 197, 331, 336, 342,
845, 348, 370, 376
Levi, G., 81, 83, 376
Levine, M. D., 336, 343, 376
Levinson, S., 325, 371
Levy, D., 101, 108, 376
Lewis, B. L., 329, 365
Licklider, J. C. R., 327, 379
Lieberman, G. J., 64, 66, 374
Lindsay, R. K., 16, 281, 282, 376
Locke, W. N., 238, 376
Long, R. E., 228, 384
Loveland, D. W., 122, 372
Lowerre, B., 342, 849, 352, 377
Lyons, J., 243, 244, 248, 377
Mann, W., 280, 377
Manna, Z., 171, 377
Manove, M., 127, 377
Marcus, M. P., 16, 230, 262, 377
Martelli, A., 66, 74, 83, 377
Martin, W. A., 217, 220, 385
Mathias, J., 238, 374
Matuzceck, D., 267, 377
McCarthy, J., 148, 170, 177, 201, 377
McConlogue, K., 384
McCord, M., 251, 377
McCorduck, P., 5, 14, 15, 377
McDermott, D. V., 15, 175, 176, 178,
368, 377, 384
McDermott, J., 194, 197, 371, 376, 377
McDonald, D., 280, 378
Mcintosh, A., 251, 378
McKeown, K., 280, 378
Mercer, R. L., 329, 365
Michie, D., 59, 63, 67, 71, 95, 103,
107-108, 367, 370, 378
Miller, G. A., 207, 378
Minker, J., 31, 385
Minsky, M., 14, 29, 30, 159, 216, 217,
220, 222, 231, 232, 287, 307, 315, 378
Mittman, B., 96, 108, 378
Montanari, U., 74, 83, 377
Moore, E. F., 64, 66, 378
Moore, J., 197, 280, 377
Moore, R. C., 178-179, 378
Moore, R. W., 86, 87, 89, 90, 91, 93, 375
Moses, J., 125, 127, 378
Munson, J., 327, 379
Myopolous, J., 186, 378
Nash-Webber, B. L., 293, 294, 326, 378,
379, 388
Neely, R., 848, 381
Newborn, M., 91, 93, 96, 101, 108, 379
Newell, A., 4, 14, 29-81, 63, 98, 100,
105, 106, 108, 109, 111, 112, 118, 117,
118, 121, 157, 169, 193, 197, 827, 331,
335, 351, 370, 377, 379
394
Name Index
Nievergelt, J., 64, 66, 381
Nii, H. P., 336, 343, 380
Nilsson, N. J., 7, 15, SO, 31, 35, 38, 42,
45, 51, 53, 56, 57, 58, 60, 63, 64, 65,
66, 71, 75, 78, 83, 87, 93, 102, 108,
128, 134, 169, 171, 197, 370, 373, 380
Norman, D., 15, 149, 180, 185, 189, 207,
215, 219, 221, 232, 255, 367, 380
Novak, G. S., 221, 380
Oettinger, A. G., 285, 238, 380
Paige, J. M., 285, 380
Paxton, W. H., 361, 380
Perrault, C. R., 232, 369
Petrick, S. R., 260, 380
Pitrat, J., 107, 108, 380
Plath, W., 380
Pohl, I., 24, 51, 52, 53, 59, 63, 67, 69,
71, 72, 73, 380
Polya, G., 29, 31, 381
Post, E., 190, 381
Postal, P., 243-245, 248, 375, 381
Prawitz, D., 169, 381
Propp, V., 307, 315, 381
Pylyshyn, Z., 201, 206, 381
Quillian, M. R., 156, 180, 185, 228, 230,
275, 276, 381
Rabiner, L., 325, 371
Raphael, B., 15, 27, 31, 64, 66, 178, 185,
228, 288, 373, 381
Reboh, R., 176, 381
Reddy, D. R., 327, 331, 336, 342, 848,
845, 348, 849, 352, 370, 377, 379, 381
Reifler, E., 285
Reingold, E. M., 64, 66, 381
Reiter, R., 176, 381
Richens, R. H., 284
Rieger, C, 808, 305, 381, 383
Riesbeck, C. K., 15, 196, 261, 262, SOS,
305, 806, 315, 368, 381, 383
Riseman, E. M., 16, 336, 343, 373
Roberts, M. de V., 99, 105, 108, 366
Roberts, R. B., 217, 221, 372
Robinson, A. E., 232, 381
Robinson, J. J., 232, 359, 381, 382
Rochester, N., 122, 372
Rosenberg, A., 325, 371
Rosenberg, R. S., 254, 255, 385
Ross, R., 59, 63, 378
Rulifson, J., 176, 382
Rumelhart, D. E., 15, 149, 180, 185, 189,
207, 215, 255, 306, 307, 315, 336, 343,
380, 382
Russell, B., Ill, 112, 386
Russell, S. W., 212, 382. See also S.
Weber.
Rustin, R., 232, 382
Rychener, M. D., 193, 195, 196, 382
Sacerdoti, E. D., 185, 139, 176, 318, 321,
374, 381, 382
Sagalowicz, D., 176, 318, 321, 374, 381
Samlowski, W., 255, 382
Samuel, A. L., 27, 31, 45, 95, 97, 102,
104, 108, 382
Sandewall, E. J., 63, 382
Scha, R. J. H., 382
Schank, R. C., 14, 15, 149, 211, 212-215,
216, 217, 219, 220, 221, 222, 2S1, 232,
287, 238, 254, 255, 278, 291, 800,
301-303, 305, S06, 309, 310, 313-315,
382, 383
Schubert, L. K., 383
Schwarcz, R. M., 384
Searle, J. R., 7, 383
Self, J., 251, 383
Shannon, C. E., 27, 31, 94-99, 10S, 108,
383
Shaw, J. C., 29, 30, 98, 105, 108, 109,
111, 112, US, 118, 379
Shortliffe, E. H., 195, 197, 369, 383
Shoup, J., 329, 330, 333, 344, 376, 383
Siklossy, L., 16, 383
Simmons, R. F., 182, 186, 189, 228, 254,
256, 274, 277, 287, 375, 383, 384, 387
Simon, H., 4, 14, 15, 29-80, 31, 59, 63,
68, 71, 98, 100, 105, 106, 108, 109,
111, 112, US, 118, 121, 149, 157, 169,
285, 379, 380, 384
Sint, L., 78, 369
Sirovich, F., 81, 83, 376
Slagle, J. R., 80, 81, 83, 87, 91, 93, 98,
102, 108, 12S, 127, 368, 384
Slate, D. J., 95, 96, 99, 100, 102, 103,
108, 384
Slocum, J., 182, 186, 277, 318, 321, 374,
384
Sloman, A., 200, 205, 206, 384
Smirnov-Troyansky, P. P., 288
Smith, B. C., 152, 367
Stefik, M., 184, 217, 221, 384
Name Index
395
Stein, P., 99, 103, 108, 375
Steinberg, S., 248, 384
Sugar, L., 186, 378
Suppes, P., 171, 384
Sussman, G., 175, 176, 299, 384, 385
Sutherland, G. L., 197, 370
Szolovitz, P., 217, 229, 385
Taylor, B., 254, 255, 385
Tenenbaum, J. M., 318, 321, 366
Thompson, C, 374
Thompson, F. B., 228, 385
Thompson, H., 219, 221, 232, 367
Thorndyke, P. W., 306, 315, 385
Thorp, E., 103, 108, 385
Turing, A. M., 4, 99, 103, 108, 385
Winston, P. H., 15, 16, 87, 90, 93, 199,
387
Wolf, H. C, 318, 321, 366
Wolf, J., 329, 342, 353, 354, 356, 357,
387
Wolf, A. K., 282, 372
Wong, H. K., 278, 387
Wood, D. E., 64, 66, 376
Woods, W., 178, 184, 186, 280, 260, 261,
268, 266, 267, 292, 293, 294, 327, 329,
342, 858, 354, 356, 357, 379, 387, 388
Yngve, V., 288, 278, 275, 388
Ulam, S., 99, 103, 108, 375
Ullman, J. D., 68, 71, 241, 244, 365, 374
Vanderbrug, G., 31, 385
Vere, S., 195, 385
Vincens, P., 325, 385
Walden, W. E., 99, 103, 108, 375, 385
Waldinger, R. J., 176, 381, 382
Walker, D. E., 186, 361, 385
Waltz, D. L., 232, 385
Wasow, T., 248, 369
Waterman, D., 16, 195, 199, 385
Weaver, W., 226, 284, 287, 238, 288, 804,
385
Weber, S., 257, 369. See also S. W.
Russell.
Weizenbaum, J., 228, 285, 286, 386
Welin, C. W., 255, 386
Wells, M., 99, 103, 108, 375
Weyhrauch, R. W., 169-171, 371, 386
Whitehead, A. N., Ill, 112, 386
Wilber, M., 176, 381
Wilensky, R., 232, 818, 314, 315, 386
Wilkins, D., 95, 107, 108, 386
Wilks, Y., 149, 207, 209, 210, 215, 232,
287, 238, 248, 254, 255, 262, 279, 288,
289, 291, 299, 368, 386, 387
Winograd, T., 9, 14, 31, 147, 150-152,
156, 158, 159, 173, 176, 111, 179, 189,
199, 207, 215, 217, 219, 221, 222, 227,
280-282, 244, 251, 260, 261, 262, 267,
276, 287, 291, 295, 296, 298, 299, 819,
367, 385, 387
SUBJECT INDEX
Ablation studies, of HARPY, 335
Abstraction space, in ABSTRIPS, 136
ABSTRIPS, 22, 28, 134, 135-139, 169
Acoustics, 343
Acquisition of knowledge. See Knowledge
acquisition.
ACT, 195
Active structural network, 185. See also
Semantic network.
Ad hoc knowledge representation, 227
Ad hoc parsers, 287
Adaptive production system, 195
Add list
in ABSTRIPS, 135
in STRIPS, 128-134
Admissibility
of A*, 65
of ordered search, 80, 83
of shortfall density strategy, 341, 356
Admissibility condition, 65, 67, 73
Agenda, 338, 356, 360. See also Control
strategy.
Agreement, in natural language, 263
AI programming languages, 10, 172, 175.
See also Knowledge representation
languages.
CONNIVER, 175, 176
INTERLISP, 320
IPL-V, 281-282
LISP, 15, 173, 237, 283, 295, 303
list processing, 227, 281-287
MICRO-PLANNER, 295-297
PLANNER, 151, 155, 171, 175-178,
295-297
POPLER, 176
QA3, 129, 168, 169
QA4, 176
QLISP, 176
SLIP, 286
ALGOL, 237
A* algorithm, 64-73, 80
Allophone, 333, 337, 349
Alpha-beta pruning of game trees, 88-93,
94, 101
AM, 157, 195-197
Ambiguity
in natural language, 208-211
in speech, 325-327
Analogical knowledge representation. See
Direct (analogical) knowledge repre-
sentation.
Analogical reasoning, 146
Anaphoric reference, 293, 358
AND/OR graph, 26, 38-40, 43, 74, 113,
119, 124. See also Problem repre-
sentation,
generalized, 82
search of, 54-57, 74-83
AND/OR tree, 39, 56, 94, 268. See also
Problem representation,
context tree, 197
degree of, 91
game tree, 25, 43-45, 84
solution tree, 40, 75, 77-79
transition tree, 316-317
Application language, in LIFER, 316
Applications of AI. See also Games;
Puzzles,
chemistry, 168
document retrieval, 328, 351
education, 186
expert systems, 9
geometry, 119-122, 201-202
information retrieval, 22, 282, 283, 292,
316, 318
machine translation, 207-213, 225, 226,
233-238, 273, 274, 279, 281, 288-291
mathematics, 195
398
Subject Index
Applications of AI (continued)
medicine, 195, 220
paraphrasing, 149, 211, 255, 274,
302-304, 321
question answering, 168-169, 173,
185-186, 281, 295, 302
science, 221
space planning, 202
story understanding, 231, 300, 306
symbolic integration, 21, 22, 24, 118,
123-127
travel budget manager, 353
voice chess, 328, 334, 344
ARPA speech understanding research
(SUR), 327, 353
Augmented transition network (ATN),
186, 230, 261, 263-267. See also
Grammar; Parsing,
in GSP, 268, 271
in LIFER, 316
in LUNAR, 292-294
in MARGIE, 303, 304
in speech understanding systems, 350,
355
in text generation systems, 277-279
Automatic programming, 9
Average branching factor. See Branching
factor.
Axiomatic system, 165
Babel, 278
Backed-up values, in game trees, 87
Backgammon, 103
Backtracking control strategy, 23, 138,
203, 258, 266, 271, 298, 339, 341, 351
Backward-chaining control strategy, 195,
198
Backward reasoning, 23-25, 36, 51, 56,
74, 110, 111. See also Control
strategy; Expectation-driven pro-
cessing; Top-down processing.
Bandwidth condition, 69
Bandwidth search, 60, 69-71
Bare template, 288, 290
BASEBALL, 227, 237, 282
Beam search, 337, 341, 350, 356
Beam width, 341
Best-first search, 59, 60, 102, 360
Bidirectional search, 24, 51-53, 72-73, 74
Blackboard, 197, 331, 336, 343-346. See
also Control strategy; Knowledge
source.
Blind search, 21, 29-30, 46-57
bidirectional, 72
and heuristic search, 58
and ordered search, 61-62
in Logic Theorist, 111
Blocks world, 276
Bottom-up processing. See also Control
strategy; Data-driven processing;
Forward reasoning,
definition of, 23-24
in production systems, 198
in natural-language parsing, 259, 270
in speech understanding, 326, 334, 338,
358
Branch-and-bound, 64
Branching factor
average, in speech system grammars,
328-329
of a search tree, 91, 98
Breadth-first search, 47-48, 56-57, 61, 68,
73, 111
Caps, 106, 196
Case ambiguity, 291
Case frame, 182, 186, 231, 253
Case grammar, 229, 249, 252-255, 277
Causal chain, 301
Chart, 260, 268-271, 354
Checkers, 26, 43, 44, 95, 97
Chemistry, applications of AI in, 168
Chess, 6, 22, 23, 26, 43, 94-108, 205,
334, 351
Co-routining, 271. See also Control
strategy; Parallel processing.
Combinatorial explosion, 27, 28, 58, 98,
99, 154, 155, 168, 260, 339, 356
Competence vs. performance, 245
Compiled knowledge, 336-337, 349
Completeness, of a knowledge represen-
tation, 178
Computational linguistics, 226, 229, 233,
304
Computer-assisted instruction, 186
Conceptual analyzer, in MARGIE, 303
Conceptual dependency theory (CD)
in MARGIE, 300-303
in SAM and PAM, 306
and semantic primitives, 211-215, 231
and text generation, 278-279
Conceptualization, 213
Concordance, 226
Conflict resolution, in production systems,
192, 197
Conjunctive subgoals, 111, 119
Subject Index
399
Connected- speech understanding. See
Speech understanding.
CONNIVER, 175-176
Consistency assumption, in search
algorithms, 66, 69, 73
Consistency, of a knowledge repre-
sentation, 178
Constraining knowledge, 344
Constraint-structured planning, 203
Construction, in geometry, 121
Context
in production systems, 190, 197
in speech understanding, 333
Context tree, in MYCIN, 197
Context-free grammar. See also Phrase-
structure grammar,
definition of, 242-243
in parsing, 260, 263
in text-generation, 273-274
in transformational grammar, 247
Context-sensitive grammar, 241-242. See
also Phrase-structure grammar.
Control strategy. See also Problem solv-
ing; Reasoning; Search algorithms,
agenda, 338, 356, 360
backtracking, 23, 138, 203, 258, 266,
271, 298, 339, 341, 351
backward chaining, 195, 198
blackboard, 197, 331, 336, 343-346
bottom-up, 23-24, 198, 220, 259, 270,
326, 334, 338, 358
co-routining, 271
conflict resolution, 192, 197
data- or event-driven, 24, 198, 220
definition of, 22
demons, 303
direction of, 23-24, 198, 220
event queue, 356
expectation- or goal-driven, 183, 198,
216-218, 232, 326, 334, 336, 344
focus of attention, 190, 197, 338, 340,
347, 356, 360
forward chaining, 198
hybrid, 340, 356
hypothesis posting, 336, 338, 354
island driving, 259, 337, 339, 346, 356,
361
matching, 159, 187
parallel processing, 258, 265, 298
in parsing, 230, 258-259
in PLANNER, 179
procedural attachment, 156, 158, 179,
218-221
and procedural knowledge represen-
tation, 174
in production systems, 194, 197-198
in speech systems, 336-342, 347, 350-
351, 355-357, 359-360
scheduler, 347, 356
top-down, 183, 198, 216-218, 232, 259,
326, 334, 336, 338, 344, 355, 358, 359
CONVERSE, 228
Cost, in search algorithms, 75-77
Critical node, in a game tree, 91
Criticality value, in ABSTRIPS, 136
CRYSALIS, 336
Cybernetics, 4, 233
Data-driven processing, 23-24, 198, 220.
See also Bottom-up processing; Con-
trol strategy; Forward reasoning.
Database, 22, 328. See also Information
retrieval.
DEACON, 228
Dead position, in a game, 87, 99
Declarative knowledge representation, 230
vs. procedural knowledge representa-
tion, 151, 172, 219
Deduction, 146, 205. See also Inference;
Reasoning.
Deep structure, in language, 247, 266
Default reasoning, 176-177
Default values, 183, 216-220
Degree of a tree, 91
Delete list
in ABSTRIPS, 135
in STRIPS, 128
Demon, 303. See also Control strategy.
DENDRAL, 60, 157, 198
Denotative knowledge representation, 200
Dependency grammar, 274
Depth bound, 49, 57, 99, 115
Depth-first search, 49-51, 57, 60, 61, 101,
113, 138, 203
Depth of a node, 49
Derivation tree, 229, 242, 246, 256, 266,
273, 281, 293, 296, 302
Diagram, reasoning from, 201
Dialogue. See Discourse.
Dictionary, for machine translation, 234
Difference
in GPS, 113
in means-ends anaylsis, 24
in STRIPS, 129
400
Subject Index
Direct (analogical) knowledge represen-
tation, 158, 177, 200-206
and parallel processing, 204
vs. propositions! knowledge represen-
tation, 200
Directedness of reasoning, 151, 174-177,
185, 188, 193, 219
Direction of reasoning, 23-24, 198, 259
Discourse, 339, 358
dialogue, 220
extended, 279
pragmatics, 249, 327, 332, 334, 359
Discovery, by AM, 196
Discrimination network, 158, 278, 304
Distributed processing, 336. See also
Parallel processing.
Divide-and-conquer. See Problem
reduction.
Document retrieval task, 328, 351
Domain-specific knowledge, 151, 176, 220.
See also Heuristic.
DRAGON, 328-329, 337
Dynamic ordering, 102
Dynamic programming, 351
Dynamic weighting, 69
Early natural language programs, 227-
229, 237, 257, 260, 281-287
Education, applications of AI in, 186
8-puzzle, 32, 51, 62, 67, 68
Elimination rule, in logic, 163, 164, 169
ELIZA, 227, 257, 260, 285-287
Ellipsis, in natural language, 320, 358
Embedding, in natural language, 263
EPAM, 158, 196
Epistemology, 151, 153, 170
Evaluation function, 60, 61-62, 64, 67-73,
77, 78, 80, 83, 97
Event-driven processing. See Data-driven
processing.
Event queue, 356
Expansion of a node, 46, 55
Expectation-driven processing, 183, 198,
216-218, 232, 326, 334, 336, 344.
See also Backward reasoning; Control
strategy; Top-down processing.
Expert system, 9
explanation by, 9, 195, 198-199
knowledge-based system, 227, 229
knowledge engineering, 9, 198
Expertise, interactive transfer of, 199
Explanation, by expert systems, 9, 195,
198-199
Explicit vs. implicit knowledge repre-
sentation, 150, 172
Extended discourse, 279
Extended grammar, 245-255
Extended grammar parsers, 260
Extended inference, 176
15-puzzle, 68, 73
Finite-state grammar, 337. See also
Regular grammar.
Finite-state transition diagram (FSTD),
263-264
First-order logic, 165
Fixed ordering of nodes, in search, 90,
101
Focus of attention, control strategy, 190,
197, 338, 340, 347, 356, 360
FOL, 169, 171, 205
Formal grammar, 239-244
Formal language, 239-244, 263
Formal reasoning, 146
Formula, in preference semantics, 288-289
Forward-chaining control strategy, 198
Forward pruning, of game trees, 104
Forward reasoning, 23-25, 51, 56, 74, 198
Frame knowledge representation, 149,
156, 158-159, 216-222, 334-335. See
also Script knowledge representation,
and case frames, 183, 254
matching in, 159
and preference semantics, 208, 229, 231
and semantic networks, 183, 186, 189
Frame problem, 177, 201
Fregean knowledge representation. See
Propositional knowledge represen-
tation.
FRL-0, 221
Full-width search, 103
Functions, in logic, 165
Game tree, 25, 43-45, 84
random, 92
totally dependent, 92
uniform, 91-93
Game-tree search, 84-108. See also
Search algorithms; AND/OR tree.
alpha-beta, 88-93, 94, 101
backed-up values, 87
dead position, 87, 99
forward, 104
horizon effect, 99
killer heuristic, 102
live position, 87
Subject Index
401
method of analogies, 104
minimax, 84-87, 88, 90, 91, 94, 98
negmax, 86-87, 89
plausible-move generation, 104
quiescence, 99-100, 103
refutation move, 102
secondary search, 100
static evaluation function, 87, 96-97,
100
tapered forward, 104
Games, 153. See also Puzzles,
backgammon, 103
checkers, 26, 43, 44, 95, 97
chess, 6, 22, 23, 26, 43, 94-108, 205,
334, 351
go, 103
tic-tac-toe, 43, 94
voice chess, 328, 334, 344
General Problem Solver (GPS), 113-118,
129, 135, 169, 196. See also Means-
ends analysis.
General Space Planner, 202-203
General Syntactic Processor (GSP),
268-272
Generality vs. power, 335
Generalized AND/OR graph, 82
Generate-and-test, 30
Generative grammar, 229, 245, 247
Generative semantics, 248
Geometry Theorem Prover, 119-122,
201-202
Go, 103
Goal, 22, 36, 105, 114, 306, 308, 310-311
Goal-directed reasoning. See Backward
reasoning; Control strategy;
Expectation-driven processing;
Top-down reasoning.
Goal states, 33
GOLUX, 171, 175
GPS. See General Problem Solver.
Graceful degradation, 336
Grain size of a knowledge representation,
147
Grammar. See also Natural language
understanding; Parsing.
ATN, 186, 230, 261, 263-267, 268, 271,
277-279, 292-294, 303, 304, 316
average branching factor of, 328, 329
case, 229, 249, 252-255, 277
context-free, 242-243, 245, 247, 260,
263, 273, 274
context-sensitive, 241-242, 245
definition of, 225, 229
dependency, 274
extended, 260-261
finite-state, 337
formal, 239-244
generative, 229, 245, 247
habitability of, 328
mood system of, 249
obligatory and optional transformations
in, 247
and parsing, 256, 260-262
performance, 261, 335, 355, 359
phrase-structure, 240-246, 260, 262
regular, 243, 245, 263
semantic, 229, 261, 318, 320, 335, 355,
359
in speech systems, 326, 332, 349
story, 306
systemic, 229, 249-251, 297
transformational, 229, 233, 237, 245-
248, 249, 251, 252
transition tree, in LIFER, 316-317
transitivity system of, 249
Grammarless parsers, 261
Graph Traverser, 67
Ground space, in ABSTRIPS, 135
GSP. See General Syntactic Processor.
GUS, 220, 231
Habitability of a language, 328
HAM, 185
HARPY, 328, 329, 335, 337, 339, 344,
346, 349-352, 356
HAWKEYE, 318
HEARSAY, 196-197, 336, 338, 343-348
HEARSAY-I, 328, 334, 335, 343
HEARSAY-H, 328, 345
Heuristic, 21, 64, 66, 74, 78, 94, 119, 151,
168, 174, 177, 188, 201, 220, 228,
258, 277, 282, 284, 293, 296, 298,
299, 335. See also Heuristic search,
definitions of, 28-30, 58, 109
killer, in game playing, 102
Heuristic Path Algorithm, 67
Heuristic search, 28, 29-30, 46, 58-83,
94-108, 117, 350, 356
Hierarchical planning, 135
Hierarchical search, 135
Hierarchy. See Inheritance.
Homomorphic knowledge representation,
200
Horizon effect, in game-tree search, 99
Human engineering, 319
Human memory. See Memory, models of.
402
Subject Index
Human problem solving, 6-7, 14, 285
HWIM, 267, 292, 328, 337, 339, 353-357
Hybrid control strategy, 340, 356
Hypothesis posting, 336, 338, 354. See
also Control strategy.
Hypothesis scoring, 340, 346, 347, 351,
355, 356
shortfall density strategy, 341, 356
uniform scoring policy, 340
Hypothesize-and-test. See Generate- an d-
test.
Hypothetical worlds, 360
Ideational function of language, 249
Incremental simulation, in HWIM, 341
Indeterminacy of knowledge represen-
tations, 148
Inexact reasoning, 195
Inference, 146, 188, 213, 228, 231, 236-
237, 255, 276, 303-304. See also
Reasoning,
extended, 176
rules of, 146, 154, 155, 160, 162-165,
168, 175
Information retrieval, 22, 145, 282-283,
292, 316, 318
Information-processing psychology. See
Psychology.
Informedness of an algorithm, 65
Inheritance
hierarchy, 156, 181, 218
of properties, 156, 181-184, 216, 218
Initial states, 33
Instance, in semantic networks, 182
Integration. See Symbolic integration.
Intelligence, 3-11
Intelligent technology, 3
Interactive transfer of expertise, 199
Interdependent subproblems, 56, 81-83
Interlingua, 234-235, 237, 288, 300, 303,
304
INTERLISP, 320
Intermediate OR node, 39, 56, 57
Interpersonal function, of language, 249
Interpreter, of a production system,
190-192
Interpretive semantics, 248
Intonation, in speech signal, 333
Introduction rule, in logic, 163, 164, 169
IPL-V, 281-282
Island-driving control strategy, 259, 337,
339, 346, 356, 361
Isolated-word recognition of speech, 325,
333, 349
Iterative deepening search, 100-101
Juncture rules, in speech understanding,
330, 350, 354
Killer heuristic, 102
Kinship relations, 281
KLONE, 221
Knowledge, 144. See also Heuristic,
compiled, 336, 337, 349
compiler, 349
constraining, 344
domain-specific, 151, 176, 220
explicit vs. implicit, 150, 172
world, 226, 230
Knowledge acquisition, 145, 194, 195, 198.
See also Learning.
Knowledge-based system, 227, 229. See
also Expert system.
Knowledge engineering, 9, 198. See also
Expert system.
Knowledge representation, 143-222, 226,
229-232. See also Knowledge repre-
sentation languages.
ad hoc, 227
completeness of, 178
consistency of, 178
declarative, 230
declarative vs. procedural, 151, 172,
219, 230
denotative, 200
direct (analogical), 158, 177, 200-206
homomorphic, 200
indeterminacy of, 148
issues in, 145-152
modularity of, 149, 157, 170, 178, 193,
198, 336, 343
organization of, 336
procedural, 146, 149-150, 155-156, 172-
179, 219-220, 230, 289, 295-297
procedural-declarative controversy, 151,
230
propositional (Fregean), 200
propositional vs. direct, 200
scope of, 147
semantic interpretation function, 200
Knowledge representation languages. See
also AI programming languages.
FRL-0, 221
KLONE, 221
KRL, 158, 221, 231
Subject Index
403
UNITS, 221
Knowledge source, 257, 298, 326, 336,
343-348, 353. See also Blackboard.
ablation studies of, 335
response frame of, 345, 347
stimulus frame of, 345
KRL, 158, 221, 231
Ladder, 318
Language definition system, 316, 359
Language, formal, 239-244, 263
Language understanding. See Natural
language understanding.
Learning, 9, 97, 128, 145, 157, 193, 195.
See also Knowledge acquisition.
Legal-move generator, 153, 334, 344
Length-first search, 138
Lexicon, 247, 333, 346, 354
LIFER, 231, 232, 261, 316-321, 360
Limited-logic natural language systems,
228
Linguistics, computational. See
Computational linguistics.
LISP, 15, 173, 237, 283, 295, 303
List processing, 227, 281-287
Live position in a game, 87
Logic, 4, 8, 146, 148, 151, 154-155, 160-
171, 172, 174
completeness and consistency of, 178
first-order, 165
functions in, 165
natural deduction in, 163, 164, 169,
175
predicate calculus, 128, 163, 200, 292,
297, 299
predicates in, 163, 182
propositional calculus, 109, 116, 118,
160-163
quantification in, 151, 164, 360
resolution method in, 168, 175
Logic Theorist (LT), 24, 109-112, 113,
116, 119
LUNAR, 230, 267, 292-294, 353
Machine translation
current status of, 237-238
early AI work in, 226, 233-237
and semantic primitives, 207-213
and text generation, 273-274, 279, 289,
291
Wilks's system, 288-291
Machinese. See Interlingua.
Macro-operators, 28
MACROP, 133
Manageability, of production systems,
193, 198
MARGIE, 149, 211, 231, 278, 300-305,
306, 334
Matching. See also Control strategy,
Pattern matching,
of frames, 159
of semantic network fragments, 187
Mathematics, applications of AI in, 195
Max cost. See Cost, in search algo-
rithms.
Means-ends analysis, 24, 59, 113, 117,
126, 129, 135, 169. See also
General Problem Solver.
Mechanical translation. See Machine
translation.
Medicine, applications of AI in, 195, 220
MEMOD, 215
Memory, models of. See also Psychology;
Semantic network knowledge repre-
sentation.
ACT, 195
associative, 230
EPAM, 158, 196
HAM, 185
imagery, 201
MEMOD, 215
Quillian's spreading activation system,
185, 187
semantic network, 180
Meta-knowledge, 144, 147
Method of analogies, in game-tree search,
104
MICRO-PLANNER, 295-297
Middle-out search strategy. See Island
driving control strategy
MIND, 268, 272
Minimax search in game trees, 84-87, 88,
90, 91, 94, 98
Model, semantic, in FOL, 205
Modularity of a knowledge representation,
149, 157, 170, 178, 193, 198, 336, 343
Modus ponens, 162
Mood system, of a grammar, 249
Morphemics
in speech understanding, 332-333
in transformational grammar, 246
Multiple sources of knowledge. See
Knowledge source.
Mutilated chessboard problem, 27
MYCIN, 151, 157, 195-199
404
Subject Index
Named plan, in PAM, 313
Natural deduction, in logic, 163-164, 169,
175
Natural language features, problematic
agreement, 263
ambiguity, 208-211
anaphoric reference, 293, 358
case ambiguity, 291
ellipsis, 320, 358
embedding, 263
habitability, 328
speech acts, 280
Natural language understanding, 3, 8,
225-321, 358-359. See also Speech
understanding,
competence vs. performance in, 245
early research, 227-229, 237, 257, 260,
281-287
and semantic primitives, 149, 207-214
Natural language understanding, appli-
cations
information retrieval, 22, 145, 282, 283,
292, 316, 318
machine translation, 207-213, 225, 226,
233-238, 273, 274, 279, 281, 288-291
paraphrasing, 149, 211, 255, 274, 302-
304, 321
question answering, 168-169, 173, 185-
186, 281, 295, 302
story understanding, 221, 231, 300, 306
Negmax formalism for game-tree search,
86-87, 89
Network representation. See also
Semantic network knowledge
representation.
ATN, 186, 230, 233, 261, 263-267, 268,
271, 277-279, 292-294, 303, 304, 316
discrimination, 158, 278, 304
Finite-state transition diagram, 263-264
partitioning, 186
pronunciation graphs, 330
RTN, 264-266
segmented lattice, 330, 337, 353, 356
in speech systems, 330, 337
spelling graph, 330, 337, 346
transition tree, 316-317
Node
critical, 91
depth of, 49
expansion of, 46, 55
intermediate, 39, 56, 57
solvable, 40
successor, 26, 33, 46
terminal, 38, 43
tip, 80, 87
unsolvable, 40, 55
Noise, in speech signal, 343
Nondeterminism. See Parsing.
Nonterminal symbols of a grammar, 239
NP-complete problems, 68, 69
NUDGE, 221
Obligatory transformation, in a grammar,
247
Observation of a semantic model, 205
Operator schemata, 33
Operators, in problem solving, 22, 32, 36,
74, 110, 113, 119, 123, 128, 135
Optimal solution, in search, 28, 62, 74
Optimality, of search algorithm, 65-67,
80, 83
Optional transformation, in a grammar,
247
Ordered depth-first search, 60, 102
Ordered search, 59-62, 64, 72, 77-81, 82,
124
Organization of knowledge, 336
PAM, 300, 306, 313-314
Parallel processing, 258, 265, 298
co-routining, 271
and direct knowledge representation,
204
distributed, 336
Paraphrasing, 149, 211, 255, 274, 302-304,
321
Paraplate, in preference semantics, 279,
291
PARRY, 257
PARSIFAL, 230
Parsing, 225, 229, 239-240, 256-272. See
also Grammar; Natural language
understanding,
ad hoc, 287
with an ATN, 263-267, 293, 349, 355
with charts, 260, 268-271, 354
control strategies, 230, 258-259
derivation tree, 229, 242, 246, 256, 266,
273, 281, 293, 296, 302
with extended grammars, 260
in LIFER, 316-318
by MARGIE'S conceptual analyzer,
302-303
nondeterminism, 265
grammarless parsers, 260, 261
Subject Index
405
by SHRDLU's PROGRAMMAR,
297-298
in speech understanding, 327, 359
template matching, 260
with a transformational grammar, 260
Partial development, in search, 59, 114
Partial expansion. See Partial develop-
ment.
Partial functions, operators viewed as, 33
Partitioned semantic network, 186, 360
Pattern matching, 123, 256, 260, 283-287.
See also Matching.
Perceptual primitives, in WHISPER, 204
Performance evaluation, of speech sys-
tems, 329
Performance grammar, 261, 335, 349, 355,
359. See also Semantic grammar.
PHLIQA1, 232
Phonemics
in speech understanding, 327, 332-333
in transformational grammar, 246
Phonetics, 327, 332-333, 343
Phonological component of a transfor-
mational grammar, 248
Phrase marker, in a transformational
grammar, 246, 273
Phrase- structure grammar, 240-246
compared with transformation grammar,
245
definition of, 243
in parsing, 260, 262
Plan
in problem solving, 107, 128, 131, 137
in story understanding, 306, 309-310
PLANNER, 151, 155, 171, 175-178,
295-297
Planning, 22, 28, 169. See also Problem
solving; Reasoning,
constraint-structured, 203
hierarchical, in ABSTRIPS, 135
generalized, in STRIPS, 131-134
Plausible-move generation, in game-tree
search, 104
Plausible reasoning, 177
Ply, in game trees, 99
POPLER, 176
Potential solution, in heuristic search,
77-79, 80, 82
Pragmatics, in discourse, 249, 327, 332,
334, 359
Preconditions, of an operator
in ABSTRIPS, 136
in STRIPS, 128, 131, 135
Predicate calculus, 128, 163, 200, 292,
297, 299. See also Logic.
Predicate, in logic, 163, 182
Preference semantics, 208, 279, 288-291
Primitive problem, 36, 38, 74, 121
Primitives
perceptual, in WHISPER, 204
semantic, 148-149, 183, 198, 207-215,
231, 237, 278, 288-291, 300-303, 306
Problem reduction, 7, 114, 119, 201
Problem-reduction representation, 25,
36-42, 54, 74, 113
Problem representation, 8, 22-28, 32-45
game tree, 25, 43-45, 84
AND/OR graph, 26, 38-40, 43, 74,
113, 119, 124
problem-reduction, 25, 36-42, 54, 74,
113
state space, 26, 33, 195
theorem-proving, 25
Problem solving, 7, 21, 58, 74, 109, 113,
119, 123, 128, 135, 153, 284, 296.
See also Planning; Problem represen-
tation; Reasoning; Theorem proving,
generate-and-test, 30
human, 285
interdependent subproblems, 56, 81-83
means-ends analysis, 24, 59, 113, 117,
126, 129, 135, 169
operators, 22, 32, 36, 74, 110, 113, 119,
123, 128, 135
optimal solution, 28, 62, 74
primitive problem, 36, 38, 74, 121
problem reduction, 7, 114, 119, 201
for robots, 22, 128-139
solution, 33
state-space search, 30, 35, 46-53, 55,
58-73, 77, 80, 111, 153, 195
Problem space. See State space.
Procedural attachment, 156, 158, 179,
218-221
Procedural-declarative controversy, 151,
230
Procedural knowledge, 193, 198, 219
Procedural knowledge representation, 146,
149-150, 155-156, 172-179, 219-220,
230, 289, 295-297
Procedural semantics, 229-230
Process control. See Control strategy.
Production rule, 157, 190, 239, 303
Production system, 157, 190-199
adaptive, 195
conflict resolution in, 192, 197
406
Subject Index
Production system (continued)
context, 190, 197
interpreter, 190-192
manageability of, 193, 198
PROGRAMMAR, 297, 319
Programming languages for AI. See AI
programming languages.
Pronunciation graph, 330
Property inheritance. See Inheritance.
Propositional calculus, 109, 116, 118,
160-163. See also Logic.
Propositional (Fregean) knowledge
representation, 200
Prosodies, in speech understanding, 327,
332-334, 359
PROSPECTOR, 157, 181, 196, 198
PROTOSYNTHEX, 228
Pruning, 59, 60, 121, 129, 201. See also
Game-tree search.
Pseudo-language, 233
Psychology, 157, 180, 193, 201
human problem solving, 6-7, 14, 285
memory, 180, 187, 201, 230
Puzzles. See also Games.
blocks world, 276
8-puzzle, 32, 51, 62, 67, 68
15-puzzle, 68, 73
mutilated chessboard, 27
Tower of Hanoi, 36-38, 42, 160, 165
traveling-salesman problem, 21, 34, 48,
62, 69, 70-71
QA3, 129, 168-169
QA4, 176
QLISP, 176
Quantification, 151, 164, 360
Query language, 292
Question answering, 168-169, 173, 185-
186, 281, 295, 302
Quiescence, in game-tree search, 99-100,
103
direction of, 23-24, 198
directedness of, 151, 174-177, 185, 188,
193, 219
expectation- or goal-driven, 23-24, 183,
197, 216-218, 232, 326, 334, 336, 344
extended inference in, 176
formal, 146
forward, 23-25, 51, 56, 74, 198
from a diagram, 201
inexact, 195
inference in, 146, 188, 213, 228, 231,
236-237, 255, 276, 303-304
plausible, 177
spreading activation, 185, 187, 189
top-down, 24
top-down vs. bottom up. See Control
strategy, direction of.
Recursive pattern matcher, 256
Recursive transition networks (RTN),
264-266
Refutation move, in game playing, 102
Regular grammar, 243, 245, 263. See also
Finite-state grammar.
Representation of knowledge. See Knowl-
edge representation.
Resolution method, in logic, 168, 175
Response frame, of a knowledge source,
345, 347
Rewrite rules, 239, 261, 316. See also
Grammar; Production rule.
ROBOT, 232
Robot problem solving, 22, 128-139
Robotics, 10
Rule
of inference, 146, 154-155, 160, 162-
165, 168, 175
production, 157, 190, 239, 303
rewrite, 239, 261, 316
Rule base, of a production system, 190
Rule-based system. See Production
system.
Random game tree, 92
Random text generation, 233, 273
Reasoning, 8, 146. See also Control
strategy; Planning; Problem solving.
analogical, 146
backward, 23-25, 36, 51, 56, 74, 110,
111
bottom-up, 24
data- or event-driven, 23-24, 198, 220
deductive, 146, 205
default, 176-177
SAD-SAM, 158, 227, 237, 260, 281-282
SAINT, 123-127
SAM, 211, 216, 220, 231, 300, 306,
311-313, 334
Scheduler, 347, 356
Schema. See Frame knowledge repre-
sentation.
SCHOLAR, 186
Scientific applications of AI, 221
Scope of a knowledge representation, 147
Scoring. See Hypothesis scoring.
Subject Index
407
Script knowledge representation, 216-222,
231, 300, 306, 307-309, 311, 334
SDC speech system, 337
Search, 6, 7, 21, 25, 330, 337, 338, 339,
343, 344
Search algorithms. See also Game- tree
search.
AND/OR graph search, 54-57, 74-83
A* algorithm, 64-73, 80
alpha-beta pruning, 88-93, 94, 101
bandwidth, 60, 69-71
beam, 337, 341, 350, 356
best-first, 59, 60, 102, 360
bidirectional, 24, 51-53, 72-73, 74
blind, 21, 29-30, 46-57, 58, 61-62, 72,
111
breadth-first, 47-48, 56-57, 61, 68, 73,
111
depth-first, 49-51, 57, 60, 61, 101, 113,
138, 203
fixed ordering, 90, 101
full-width, 103
generate-and-test, 30
heuristic, 21, 28, 29-30, 46, 58-83, 117,
119, 350
Heuristic Path Algorithm, 67
hierarchical, 135
iterative deepening, 100-101
length-first, 138
minimax, 84-87, 88, 90, 91, 94, 98
negmax, 86-87, 89
optimality, 65, 66, 67, 80, 83
ordered, 59-62, 64, 72, 77-81, 82, 124
ordered depth-first, 60, 102
in speech systems, 339-340
uniform-cost, 48-49, 51, 61, 65, 73
Search graph, 26
Search space, 26-28, 58, 94, 339, 343
Secondary search, in game trees, 100
Segmented lattice, 330, 337, 353, 356
Semantic analysis, in natural language
understanding, 228, 230
Semantic component, of a transforma-
tional grammar, 248
Semantic density, in preference semantics,
290
Semantic grammar, 229, 261, 318, 320,
335, 355, 359. See also Performance
grammar.
Semantic interpretation function, in
knowledge representation, 200
Semantic marker, 297
Semantic model, in FOL, 205
Semantic network knowledge
representation, 156, 172, 180-189,
193, 197, 208, 218, 229, 230, 254,
276, 277, 303, 330, 355, 360
active structural network, 185
fragment matching in, 187
partitioning of, 186, 360
spreading activation in, 185, 187, 189
Semantic primitives, 148, 149, 183, 198,
207-215, 231, 237, 254, 278, 288, 300,
306
Semantics, 184, 186, 189, 225, 235, 287,
316, 326, 327, 332, 334, 344
generative, 248
interpretive, 248
preference, 208
procedural, 229, 230
Sentential connectives, in logic, 161
Short-term memory buffer, in production
systems. See Context.
Shortfall density strategy, for hypothesis
scoring in HWIM, 341, 356
SHRDLU, 151, 176, 196, 230, 251, 257,
260, 276, 295-299, 319
Simulation structure, in FOL, 205
SIN, 125-127
SIR, 158, 173, 185, 228, 237, 260,
283-284
SLIP, 286
Slot, of a frame, 158, 216
SNIFFER, 188
SOLDIER, 125
Solution graph, 40, 55
Solution, in problem solving, 33
Solution tree, 40, 75, 77-79
Solvable node, 40
SOPHIE, 257, 261
Sort, in logic, 163, 166
Space planning task, 202
Speech acts, 280
Speech recognition, 325, 326, 333, 349
Speech signal, 332
acoustics, 343
allophone, 333, 337, 349
intonation, 333
noise, 343
stress, 333
syllable, 333, 343
Speech understanding, 158, 186, 226, 231,
257, 259, 267, 292, 325-361
connected speech, 326
evaluation of system performance, 329
isolated-word recognition, 325, 333, 349
408
Subject Index
Speech understanding (continued)
morphemics, 332-333
network representations in, 330, 337
phonemics, 327, 332-333
prosodies, 327, 332-334, 359
vs. speech recognition, 326
SPEECHLIS, 328, 353
Spelling correction, 320
Spelling graph, 330, 337, 346
Spreading activation, in semantic
networks, 185, 187, 189
SRI speech system, 339, 358-361
Start symbol, of a grammar, 240
State, 22, 32
State space, 26, 33, 195
graph, 25, 33-34, 43, 46, 61, 64, 74
representation, 24, 32-35, 36, 40-42,
46, 74, 113, 129
search, 30, 35, 46-53, 55, 58-73, 77,
80, 111, 153, 195
Static evaluation function, in game-tree
search, 87, 96-97, 100
Stereotypes, in preference semantics, 289
Stimulus frame, of a knowledge source,
345
Story grammar, 306
Story understanding, 231, 300, 306
Stress, in speech understanding, 333
STRIPS, 22, 28, 42, 82, 128-134, 135,
138-139, 169
STUDENT, 196, 227, 237, 260, 284-285
Stylistics, in text generation, 279
Subgoals, conjunctive, 111, 119
Subproblems, interdependent, 56, 81-83.
See also Problem solving; Subgoals.
Successor node, 26, 33, 46
Sum cost. See Cost, in search algo-
rithms.
Surface structure of a natural language,
247, 252, 273, 274, 277. See also
Syntax.
Syllable, in speech understanding, 333,
343
Symbolic integration, 21, 22, 24, 118,
123-127
Syntactic analysis, in natural language
understanding, 230
Syntactic categories, of a grammar, 239
Syntactic component, of a transforma-
tional grammar, 247
Syntactic symmetry, in the Geometry
Theorem Prover, 120
Syntax, 155, 225, 326, 327, 332, 334, 344,
346
Systemic grammar, 229, 249-251, 297
Systems architecture, for speech under-
standing, 332-342, 353
Table of Connections, in GPS, 115
Tapered forward pruning, 104
Tautology, in logic, 162
Taxonomy, 181. See also Inheritance.
Teachable Language Comprehender
(TLC), 185, 228
TEIRESIAS, 145, 195-199
Template
bare, 288, 290
in case grammars, 253
matching, in parsing, 260
in preference semantics, 279, 288-291
in speech recognition, 333, 337, 340,
349
word, 349
Terminal node, of an AND/OR graph,
38, 43
Terminal symbol, in a grammar, 239
Text-based NL systems, 228
Text generation, 273-280
in MARGIE, 304
random, 233, 273
and machine translation, 273-274, 279,
289, 291
Textual function, of language, 249
Theme, in story understanding, 306,
310-311, 313
Theorem proving, 22, 23, 26, 62, 74, 109,
116, 118, 119, 129, 151, 155, 168,
171, 175, 188, 297
Theorem-proving representation, 25
THNOT, in PLANNER, 176
Tic-tac-toe, 43, 94
Tip node, of an AND/OR graph, 80, 87
Top-down processing, 259, 326, 334, 338,
344, 355, 358, 359. See also Back-
ward reasoning; Control strategy;
Expectation-driven processing.
Top-down reasoning, 24
Top-down vs. bottom-up reasoning, 198
TORUS, 186
Totally dependent game tree, 92
Tower of Hanoi puzzle, 36-38, 42, 160,
165
Transfer of expertise, 199
Transformational grammar, 229, 237,
245-248, 249, 251, 252
Subject Index 409
parsers, 260
Transformations, obligatory and optional,
246-247
Transition operator. See Legal-move
generator.
Transition-tree grammar, in LIFER,
316-317
Transitivity system, of a grammar, 249
Travel budget manager task, 353
Traveling- salesman problem, 21, 34, 48,
62, 69, 70-71
Tree. See Grammar; Parsing; Problem
representation.
Triangle table, in STRIPS, 131-132
Trigger. See Procedural attachment.
Truth table, in logic, 162
Truth values, in logic, 161
Turing machine, 4, 241, 266
Understandability, of knowledge repre-
sentations, 150, 156-157, 174, 193
Uniform-cost search, 48^9, 51, 61, 65, 73
Uniform game tree, 91-93
Uniform scoring policy, of hypotheses in
HWIM, 340
UNITS, 221
Universal specialization, in logic, 164
Unsolvable node, of an AND/OR graph,
40, 55
Variable domain array, in the General
Space Planner, 202
Variable, in logic, 164
Verb sense, 278
Vision, 10, 330, 334
Voice chess, 328, 334, 344
Well-formed formula, in logic, 164
WHISPER, 203
Word island, in HWIM, 353
Word template, 349
World knowledge, 226, 230. See also
Domain-specific knowledge; Heuristic.
World model, 22, 128, 135
3. CRYSALIS
4. Applications in organic synthesis
D. Applications in mathematics
1. MACSYMA
2. AM
F. Research on miscellaneous science applications
1. The SRI computer-based consultant
2. PROSPECTOR
VOL Applications-oriented AI Research: Medicine
A. Overview
B. Medical applications systems
1. MYCIN
2. CASNET
3. INTERNIST
4. Present Illness Program
5. Digitalis Advisor
6. IRIS
7. EXPERT
IX. Applications-oriented AI Research: Education
A. Historical overview of AI applications in educai
B. Issues in the design of tutoring systems
C. Computer-based tutoring systems
1. SCHOLAR
2. WHY
3. SOPHIE
4. WEST
5. WUMPUS
6. BUGGY
7. EXCHECK
D. Research on nontutorial uses of AI in educatioi
X. Automatic Programming
A. Overview-Methods of program specification
B. Basic approaches to automatic programming
C. Automatic programming systems
1. PSI
2. SAFE
3. Programmer's Apprentice
4. PECOS
5. DAEDALUS
6. PROTOSYSTEM-1
7. NLPQ
8. LIBRA-Automatic program optimization
VOLUME m (Tentative)
XL Models of Cognition
A. Overview
B. General Problem Solver
C. Models of cognitive development
D. EPAM
E. Semantic-network models of memory
1. Quillian's semantic memory system
2. HAM
Avron Barr, a
Research Associate in
the Computer Science
Department at Stan-
ford University, has
been Managing
Editor of The Ar-
tificial Intelligence
Handbook project
since its inception in
1975. His current
research involves In-
telligent, Computer-based Instructional
Systems, Computing Environments for Novice
Programmers, and the Representation and Use
of "Meta-knowledge" in Artificial Intelligence
systems.
Edward Feigenbaum joined the Stanford
University faculty in 1965. Professor Feigen-
baum's interests include the applications of ar-
tificial intelligence methods to science and
medicine and have led to the formation of the
Stanford Heuristic Programming Project, the
world's best-known center for the applications
of Artificial Intelligence. Chairman of the
Computer Science Department since 1976,
Professor Feigenbaum also heads the national
computer facility for applications of Artificial
Intelligence to Medicine and Biology known as
the SUMEX-AIM facility, established by NIH
at Stanford University.
Jacket design by Hans- J. Wacker
"As to artificial intelligence, we have hardly begun to under-
stand what this abundant and cheap intellectual power will do to
our lives. It has already started to change physically the research
laboratories and the manufacturing plants. It is difficult for the
mind to grasp the ultimate consequences for man and
society . . . "
—Jean Riboud, Chairman and President
Schlumberger Limited
What is a ''heuristic problem-solving program?" How do com-
puters understand English? What are "semantic nets" or
"frames?" Can computer programs outperform human ex-
perts? Such questions— asked by scientists, engineers, students,
and hobbyists encountering Artificial Intelligence for the first
time— can now be readily answered by The Handbook of
Artificial Intelligence, a work which makes the full scope of im-
portant techniques and concepts of AI available for the first
time to the rapidly expanding world of computer technologists
and users.
The scope of this handbook is broad: over two hundred short ar-
ticles covering all of the important ideas, techniques, and
systems developed during twenty-five years of research in the AI
field. The articles are written for people with no background in
AI. Some articles serve as overviews, discussing the various
approaches within a subfield, the issues, and the problems. The
handbook is a reference work, a textbook, a guide to program-
ming techniques and to the extensive literature of the field, and a
book for intellectual browsing. Jargon has been eliminated in
each of the short, penetrating articles, and the hierarchical
organization of the book allows readers to choose how deeply
they wish to delve into a particular subject.
Conceived and produced at Stanford University's Department
of Computer Science, with contributions from universities and
laboratories across the nation, The Handbook of Artificial
Intelligence promises to become the standard reference work in
the rapidly growing AI field.
ISBN 0-86576-005-5
William Kaufmann, Inc. • One First Street • Los Altos, California